Browse Source

Merge branch 'master' of http://39.98.153.250:9080/bowintek/GHSCPartyBuild

pengjing 3 days ago
parent
commit
a2b8ed74a5

+ 92 - 17
src/main/java/com/ghsc/partybuild/controller/CheckDataController.java

@@ -40,6 +40,8 @@ public class CheckDataController {
     FtpHelper ftpHelper;
     @Autowired
     RoleService roleService;
+    @Autowired
+    StringUtils stringUtils;
 
     @ResponseBody
     @GetMapping("/getCheckNameList")
@@ -61,7 +63,7 @@ public class CheckDataController {
     @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, String roleID, String userid) {
         RequsetData<PageInfo<HashMap<String, Object>>> result = new RequsetData<>();
         //管理员看到所有数据
         final boolean isAdmin = isAdmin(userService.getLoginUser().getUserid());
@@ -69,7 +71,7 @@ public class CheckDataController {
         if(isAdmin){
             checkuserid="";
         }
-        result.setItem(checkDataService.getCheckScoreList(pageindex, pagesize, year, quarter, dzzdm, checkUserName, minScore, maxScore, recordStatus,checkuserid));
+        result.setItem(checkDataService.getCheckScoreList(pageindex, pagesize, year, quarter, dzzdm, checkUserName, minScore, maxScore, recordStatus,checkuserid, roleID, userid));
         return result;
     }
     private boolean isAdmin(String userId){
@@ -98,10 +100,10 @@ public class CheckDataController {
 
     @ResponseBody
     @PostMapping("/deleteCheckNameList")
-    public RequsetData<Integer> deleteCheckNameList(@RequestBody List<String> nameIdList) {
+    public RequsetData<Integer> deleteCheckNameList(@RequestBody Map<String, Object> data) {
         RequsetData<Integer> res = new RequsetData<>();
         res.setMsg("删除成功!");
-        res.setItem(checkDataService.deleteCheckNameList(nameIdList));
+        res.setItem(checkDataService.deleteCheckNameList((List<String>) data.get("nameIdList")));
         return res;
     }
 
@@ -126,9 +128,9 @@ public class CheckDataController {
 
     @ResponseBody
     @GetMapping("/getCheckDataList")
-    public RequsetData<PageInfo<HashMap<String, Object>>> getCheckDataList(int pageindex, int pagesize, Integer year, String dzzdm, String remark) {
+    public RequsetData<PageInfo<HashMap<String, Object>>> getCheckDataList(int pageindex, int pagesize, Integer year, String dzzdm, String remark, String roleID, String userid) {
         RequsetData<PageInfo<HashMap<String, Object>>> result = new RequsetData<>();
-        result.setItem(checkDataService.getCheckDataList(pageindex, pagesize, year, dzzdm, remark));
+        result.setItem(checkDataService.getCheckDataList(pageindex, pagesize, year, dzzdm, remark, roleID, userid));
         return result;
     }
 
@@ -136,13 +138,23 @@ public class CheckDataController {
     @PostMapping("/saveCheckdata")
     public RequsetData<Integer> saveCheckdata(@RequestBody PtCheckdata item, String userid, String username) {
         RequsetData<Integer> res = new RequsetData<>();
+        if (userid == null || userid.isEmpty()) {
+            userid = userService.getLoginUser().getUserid();
+        }
+        if (username == null || username.isEmpty()) {
+            username = userService.getUserInfobyId(userService.getLoginUser().getUserid()).getName();
+        }
         try {
-            item.setCheckdatauserid(userService.getLoginUser().getUserid());
-            item.setCheckdatausername(userService.getUserInfobyId(userService.getLoginUser().getUserid()).getName());
+            if (item.getCheckdatauserid() == null || item.getCheckdatauserid().isEmpty()) {
+                item.setCheckdatauserid(userid);
+            }
+            if (item.getCheckdatausername() == null || item.getCheckdatausername().isEmpty()) {
+                item.setCheckdatausername(username);
+            }
             item.setRecordstatus(1);
             item.setCreatetime(new Date());
-            item.setCreateuserid(userService.getLoginUser().getUserid());
-            item.setCreateusername(userService.getUserInfobyId(userService.getLoginUser().getUserid()).getName());
+            item.setCreateuserid(userid);
+            item.setCreateusername(username);
             int id = checkDataService.saveCheckdata(item, userid, username);
             res.setItem(id);
             res.setMsg("保存成功!");
@@ -197,10 +209,10 @@ public class CheckDataController {
 
     @RequestMapping(value = "/exportCheckData", method = RequestMethod.GET)
     public void exportCheckData(HttpServletResponse response,
-                                Integer year, String dzzdm, String remark) throws Exception {
+                                Integer year, String dzzdm, String remark, String roleID, String userid) throws Exception {
 
         /**查询数据**/
-        List<HashMap<String, Object>> dataList = checkDataService.getCheckDataList(1, 9999, year, dzzdm, remark).getList();
+        List<HashMap<String, Object>> dataList = checkDataService.getCheckDataList(1, 9999, year, dzzdm, remark, roleID, userid).getList();
 
         ExcelHelper excelHelper = new ExcelHelper();
         ExcelHelper.ExcelData data = excelHelper.new ExcelData();
@@ -224,7 +236,11 @@ public class CheckDataController {
             row.add(item.get("leadingdepartment"));
             row.add(item.get("checkdatausername"));
             row.add(item.get("dzzmc"));
-            row.add(dateUtils.strFormat(item.get("updatetime").toString()));
+            if (item.containsKey("updatetime") && item.get("updatetime") != null && !item.get("updatetime").equals("")) {
+                row.add(dateUtils.strFormat(item.get("updatetime").toString()));
+            } else {
+                row.add("");
+            }
             row.add(item.get("remark"));
 
             rows.add(row);
@@ -236,24 +252,30 @@ public class CheckDataController {
 
     @RequestMapping("/downCheckDataZip")
     public String downCheckDataZip(HttpServletResponse response,
-                                   String year,
-                                   HttpServletRequest request) {
+                                   HttpServletRequest request,
+                                   String year, String dzzdm, String remark, String roleID, String userid) {
         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 = checkDataService.getCheckDataFleList(year);
+            List<HashMap<String, Object>> dataList = checkDataService.getCheckDataFleList(year, dzzdm, remark, roleID, userid);
             FTPClient ftpClient = new FTPClient();
             ftpHelper.connectToServer(ftpClient);
             ftpClient.enterLocalPassiveMode();
             ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
 
             for (HashMap<String, Object> item : dataList) {
+                if (!item.containsKey("fileurl") || item.get("fileurl") == null || item.get("fileurl").toString().isEmpty()) {
+                    continue;
+                }
                 //打包显示的文件名
                 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("checkdatausername"), item.get("dzzmc"), fileExt)));
+                // 获取原始文件名(如果 filename 本身带扩展名,需要去除)
+                String originalFilename = item.get("filename").toString();
+                String filenameWithoutExt = originalFilename.substring(0, originalFilename.lastIndexOf('.'));
+                out.putNextEntry(new ZipEntry(String.format("%s%s", filenameWithoutExt, fileExt)));
                 ftpClient.retrieveFile(item.get("fileurl").toString(), out);
                 out.flush();
                 out.closeEntry();
@@ -286,8 +308,61 @@ public class CheckDataController {
                     ie.printStackTrace();
                 }
             }
+            e.printStackTrace();
             throw new RuntimeException();
         }
         return "";
     }
+
+    @RequestMapping(value = "/exportCheckScore", method = RequestMethod.GET)
+    public void exportCheckScore(HttpServletResponse response,
+                                 Integer year, Integer quarter, String dzzdm, String checkUserName, Float minScore, Float maxScore, Integer recordStatus, String roleID, String userid) throws Exception {
+
+        /**查询数据**/
+        final boolean isAdmin = isAdmin(userService.getLoginUser().getUserid());
+        String checkuserid=userService.getLoginUser().getUserid();
+        if(isAdmin){
+            checkuserid="";
+        }
+        List<HashMap<String, Object>> dataList = checkDataService.getCheckScoreList(1, 9999, year, quarter, dzzdm, checkUserName, minScore, maxScore, recordStatus,checkuserid, roleID, userid).getList();
+
+        ExcelHelper excelHelper = new ExcelHelper();
+        ExcelHelper.ExcelData data = excelHelper.new ExcelData();
+
+        //列名
+        data.setName("考核评分信息");
+        List<String> titles = new ArrayList();
+        titles.add("年度");
+        titles.add("季度");
+        titles.add("组织名称");
+        titles.add("评分");
+        titles.add("问题数量");
+        titles.add("核查工作人员");
+        titles.add("评分时间");
+        titles.add("状态");
+        data.setTitles(titles);
+
+        //数据
+        List<List<Object>> rows = new ArrayList();
+        for (Map<String, Object> item : dataList) {
+            List<Object> row = new ArrayList();
+            row.add(item.get("year"));
+            row.add(item.get("quarter"));
+            row.add(item.get("dzzmc"));
+            row.add(item.get("score") != null ? item.get("score") + "" : "");
+            row.add(item.get("questionnum") != null ? item.get("questionnum") + "" : "");
+            row.add(item.get("checkusername"));
+            if (item.containsKey("updatetime") && item.get("updatetime") != null && !item.get("updatetime").equals("")) {
+                row.add(dateUtils.strFormat(item.get("updatetime").toString()));
+            } else {
+                row.add("");
+            }
+            row.add(item.get("recordstatusname"));
+
+            rows.add(row);
+        }
+        data.setRows(rows);
+
+        excelHelper.exportExcel(response, "考核评分信息.xlsx", data);
+    }
 }

+ 2 - 0
src/main/java/com/ghsc/partybuild/mapper/CfUsersCQuery.java

@@ -16,6 +16,8 @@ import java.util.Map;
 public interface CfUsersCQuery {
     List<HashMap<String, Object>> selectUserAll(@Param("username") String userName);
 
+    List<HashMap<String, Object>> selectUserAllByUserID(@Param("userID") String userID);
+
     List<HashMap<String, Object>> getMenuByUid(@Param("userid") String userID, @Param("appid") String appID);
 
     /**

+ 4 - 4
src/main/java/com/ghsc/partybuild/mapper/PtCheckdataCQuery.java

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

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

@@ -20,15 +20,15 @@ public interface CheckDataService {
 
     Integer changeCheckNameListStatus(List<String>  nameIdList,Integer recordStatus);
 
-    PageInfo<HashMap<String, Object>> getCheckDataList(int pageIndex, int pageSize, Integer year, String dzzdm, String remark);
+    PageInfo<HashMap<String, Object>> getCheckDataList(int pageIndex, int pageSize, Integer year, String dzzdm, String remark, String roleID, String userid);
 
-    List<HashMap<String, Object>> getCheckDataFleList( String year);
+    List<HashMap<String, Object>> getCheckDataFleList(String year, String dzzdm, String remark, String roleID, String userid);
 
     int saveCheckdata(PtCheckdata item,String userid,String username);
 
     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,String checkuserid);
+    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, String roleID, String userid);
 
     int saveCheckScore(PtCheckscore item, List<PtCheckquestion> questionList);
 

+ 97 - 11
src/main/java/com/ghsc/partybuild/service/impl/CheckDataServiceImpl.java

@@ -3,6 +3,8 @@ package com.ghsc.partybuild.service.impl;
 import com.ghsc.partybuild.mapper.*;
 import com.ghsc.partybuild.model.*;
 import com.ghsc.partybuild.service.CheckDataService;
+import com.ghsc.partybuild.service.UserService;
+import com.ghsc.partybuild.util.StringUtils;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,11 +31,24 @@ public class CheckDataServiceImpl implements CheckDataService {
     @Autowired
     PtCheckquestionMapper checkquestionMapper;
 
+    @Autowired
+    CfUsersCQuery cfUsersCQuery;
+
+    @Autowired
+    UserService userService;
+
+    @Autowired
+    StringUtils stringUtils;
+
+    @Autowired
+    private CfUserrolesMapper cfUserrolesMapper;
+
+
     @Override
     public PageInfo<HashMap<String, Object>> getCheckNameList(int pageIndex, int pageSize, Integer year, Integer quarter, String dzzdm, String checkUserName, String partyCode, Integer recordStatus) {
 
         PageHelper.startPage(pageIndex, pageSize);
-        List<HashMap<String, Object>> list = checkdataCQuery.selectCheckNameList(year, quarter, dzzdm, checkUserName, partyCode, recordStatus);
+        List<HashMap<String, Object>> list = checkdataCQuery.selectCheckNameList(year, quarter, dzzdm, checkUserName, partyCode, recordStatus, null);
 
         PageInfo<HashMap<String, Object>> result = new PageInfo(list);
 
@@ -68,6 +83,17 @@ public class CheckDataServiceImpl implements CheckDataService {
             checkpartyMapper.insertSelective(it);
         });
         assetrCheckScore(item.getYear(),item.getQuarter(),item.getCheckuserid(),item.getCheckusername(),checkPartyList);
+        // 查询选择的用户是否有检查人员权限
+        List<HashMap<String, Object>> userInfo = cfUsersCQuery.selectUserAllByUserID(item.getCheckuserid());
+        if (!userInfo.isEmpty()) {
+            // 查询该用户是否绑定了检查人员角色
+            List<HashMap<String, Object>> roleList = cfUsersCQuery.GetRoleByUserId(item.getCheckuserid());
+            HashMap<String, Object> jcRole = roleList.stream().filter(it -> it.get("ROLEID").equals("27f0fd61-3107-486f-9240-4f9ef909103e")).findFirst().orElse(null);
+            if (jcRole == null) {
+                // 没有检查人员角色的,绑定一个
+                userService.saveUserRoleList("27f0fd61-3107-486f-9240-4f9ef909103e", item.getCheckuserid(), false);
+            }
+        }
         return 1;
     }
 
@@ -114,6 +140,10 @@ public class CheckDataServiceImpl implements CheckDataService {
         ckExp.or().andNameidIn(nameIdList);
         checknamelistMapper.deleteByExample(ckExp);
 
+        PtCheckdataExample cdExp = new PtCheckdataExample();
+        cdExp.or().andDataidIn(nameIdList);
+        CheckdataMapper.deleteByExample(cdExp);
+
         return 1;
     }
 
@@ -124,13 +154,46 @@ public class CheckDataServiceImpl implements CheckDataService {
         PtChecknamelistExample ckExp = new PtChecknamelistExample();
         ckExp.or().andNameidIn(nameIdList);
         checknamelistMapper.updateByExampleSelective(record, ckExp);
+        
+        // 设置核查人员角色
+        for (String nameId : nameIdList) {
+            PtChecknamelist checknamelist = checknamelistMapper.selectByPrimaryKey(nameId);
+            if (checknamelist != null) {
+                if (recordStatus == 1) {
+                    // 启用状态
+                    // 查询选择的用户是否有检查人员权限
+                    List<HashMap<String, Object>> userInfo = cfUsersCQuery.selectUserAllByUserID(checknamelist.getCheckuserid());
+                    if (!userInfo.isEmpty()) {
+                        // 查询该用户是否绑定了检查人员角色
+                        List<HashMap<String, Object>> roleList = cfUsersCQuery.GetRoleByUserId(checknamelist.getCheckuserid());
+                        HashMap<String, Object> jcRole = roleList.stream().filter(it -> it.get("ROLEID").equals("27f0fd61-3107-486f-9240-4f9ef909103e")).findFirst().orElse(null);
+                        if (jcRole == null) {
+                            // 没有检查人员角色的,绑定一个
+                            userService.saveUserRoleList("27f0fd61-3107-486f-9240-4f9ef909103e", checknamelist.getCheckuserid(), false);
+                        }
+                    }
+                } else {
+                    // 禁用状态
+                    // 查询该人员是否还有启用状态的记录
+                    PtChecknamelistExample example = new PtChecknamelistExample();
+                    example.or().andCheckuseridEqualTo(checknamelist.getCheckuserid()).andRecordstatusEqualTo(1);
+                    List<PtChecknamelist> list = checknamelistMapper.selectByExample(example);
+                    if (list.isEmpty()) {
+                        // 所有记录都是禁用,则删除该用户的核查人员角色
+                        CfUserrolesExample expUr2 = new CfUserrolesExample();
+                        expUr2.or().andUseridEqualTo(checknamelist.getCheckuserid()).andRoleidEqualTo("27f0fd61-3107-486f-9240-4f9ef909103e");
+                        cfUserrolesMapper.deleteByExample(expUr2);
+                    }
+                }
+            }
+        }
         return 1;
     }
 
     @Override
     public HashMap<String, Object> getCheckName(String id) {
 
-        List<HashMap<String, Object>> list = checkdataCQuery.selectCheckNameList(null, null, null, null, null, null);
+        List<HashMap<String, Object>> list = checkdataCQuery.selectCheckNameList(null, null, null, null, null, null, null);
 
         HashMap<String, Object> item = list.stream().filter(x -> x.get("nameid").toString().equals(id)).findFirst().orElse(null);
 
@@ -138,10 +201,11 @@ public class CheckDataServiceImpl implements CheckDataService {
     }
 
     @Override
-    public PageInfo<HashMap<String, Object>> getCheckDataList(int pageIndex, int pageSize, Integer year, String dzzdm, String remark) {
-
+    public PageInfo<HashMap<String, Object>> getCheckDataList(int pageIndex, int pageSize, Integer year, String dzzdm, String remark, String roleID, String userid) {
+        // 如果是核查人员,只允许查询用户核查名单中存在的组织的材料数据
+        String dzzdmInStr = getDzzdmInStr(roleID, userid);
         PageHelper.startPage(pageIndex, pageSize);
-        List<HashMap<String, Object>> list = checkdataCQuery.selectCheckDataList(year, dzzdm, remark);
+        List<HashMap<String, Object>> list = checkdataCQuery.selectCheckDataList(year, dzzdm, remark, dzzdmInStr);
 
         PageInfo<HashMap<String, Object>> result = new PageInfo(list);
 
@@ -149,9 +213,10 @@ public class CheckDataServiceImpl implements CheckDataService {
     }
 
     @Override
-    public List<HashMap<String, Object>> getCheckDataFleList(String year) {
-
-        List<HashMap<String, Object>> list = checkdataCQuery.selectCheckDataFleList(year);
+    public List<HashMap<String, Object>> getCheckDataFleList(String year, String dzzdm, String remark, String roleID, String userid) {
+        // 如果是核查人员,只允许查询用户核查名单中存在的组织的材料数据
+        String dzzdmInStr = getDzzdmInStr(roleID, userid);
+        List<HashMap<String, Object>> list = checkdataCQuery.selectCheckDataFleList(year, dzzdm, remark, dzzdmInStr);
 
         return list;
     }
@@ -181,10 +246,11 @@ 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,String checkuserid) {
-
+    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, String roleID, String userid) {
+        // 如果是核查人员,只允许查询用户核查名单中存在的组织的材料数据
+        String dzzdmInStr = getDzzdmInStr(roleID, userid);
         PageHelper.startPage(pageIndex, pageSize);
-        List<HashMap<String, Object>> list = checkdataCQuery.selectCheckScoreList( year,  quarter,  dzzdm,  checkUserName,  minScore, maxScore, recordStatus,checkuserid);
+        List<HashMap<String, Object>> list = checkdataCQuery.selectCheckScoreList( year,  quarter,  dzzdm,  checkUserName,  minScore, maxScore, recordStatus,checkuserid,dzzdmInStr);
 
         PageInfo<HashMap<String, Object>> result = new PageInfo(list);
 
@@ -224,4 +290,24 @@ public class CheckDataServiceImpl implements CheckDataService {
         example.or().andScoreidEqualTo(scoreId);
        return checkquestionMapper.selectByExample(example);
     }
+
+    public String getDzzdmInStr(String roleID, String userID) {
+        if (!stringUtils.IsNullOrEmpty(roleID) && roleID.equals("27f0fd61-3107-486f-9240-4f9ef909103e")) {
+            List<HashMap<String, Object>> checkNameList = checkdataCQuery.selectCheckNameList(null, null, null, null, null, 1, userID);
+            // 获取党组织代码
+            List<String> distinctDzzdmList = checkNameList.stream()
+                    .map(item -> item.get("partcodes"))            // 获取 partcodes 值(可能为单值或多值)
+                    .filter(Objects::nonNull)                      // 过滤 null
+                    .map(Object::toString)                         // 转为 String
+                    .flatMap(s -> Arrays.stream(s.split("\\s*,\\s*"))) // 按逗号分割(兼容前后空格)
+                    .filter(s -> !s.isEmpty())                     // 过滤空字符串(防止分割后产生空值)
+                    .distinct()                                    // 去重
+                    .collect(Collectors.toList());                 // 收集为 List
+            if (!distinctDzzdmList.isEmpty()) {
+                // 拼接in查询条件
+                return stringUtils.ListToInSql(distinctDzzdmList);
+            }
+        }
+        return null;
+    }
 }

+ 3 - 0
src/main/java/com/ghsc/partybuild/util/DateUtils.java

@@ -352,6 +352,9 @@ public class DateUtils {
     }
 
     public String strFormat(String value) {
+        if (value == null || value.isEmpty()) {
+            return "";
+        }
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
         try {
             Date date = format.parse(value);

+ 13 - 0
src/main/java/com/ghsc/partybuild/util/StringUtils.java

@@ -2,6 +2,9 @@ package com.ghsc.partybuild.util;
 
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
 @Component
 public class StringUtils {
     public boolean IsNullOrEmpty(String value) {
@@ -11,4 +14,14 @@ public class StringUtils {
     public String valueOf(Object obj) {
         return (obj == null) ? "" : obj.toString();
     }
+
+    public <T> String ListToInSql(List<T> list) {
+
+        if (list == null || list.size() <= 0)
+            return "";
+
+        String sql = String.join("','", list.stream().map(it -> it.toString()).collect(Collectors.toList()));
+
+        return "'" + sql + "'";
+    }
 }

+ 3 - 0
src/main/resources/mapping/CfUsersCQuery.xml

@@ -4,6 +4,9 @@
     <select id="selectUserAll" resultType="java.util.HashMap">
         select * from cf_users where UserName like Concat('%',#{username},'%')
     </select>
+    <select id="selectUserAllByUserID" resultType="java.util.HashMap">
+        select * from cf_users where USERID = #{userID}
+    </select>
     <select id="GetRoleByUserId" resultType="java.util.HashMap">
          SELECT ROLENAME,CF_ROLES.ROLEID FROM CF_USERROLES,CF_ROLES WHERE CF_USERROLES.USERID = #{userId} and CF_USERROLES.ROLEID = CF_ROLES.ROLEID
     </select>

+ 19 - 1
src/main/resources/mapping/PtCheckdataCQuery.xml

@@ -32,6 +32,9 @@
         <if test="recordStatus != null and recordStatus != ''">
             and pcnl.recordStatus =#{recordStatus}
         </if>
+        <if test="checkuserid != null and checkuserid != ''">
+            and pcnl.checkuserid = #{checkuserid}
+        </if>
         order by pcnl.year,pcnl.quarter,pcnl.createTime desc
     </select>
     <select id="selectCheckPartyList" resultType="java.util.HashMap">
@@ -61,18 +64,30 @@
         <if test="dzzdm != null and dzzdm != ''">
             and pcd.dzzdm like concat('%',#{dzzdm},'%')
         </if>
+        <if test="dzzdmInStr != null and dzzdmInStr != ''">
+            and pcd.dzzdm in (${dzzdmInStr})
+        </if>
     </select>
 
     <select id="selectCheckDataFleList" resultType="java.util.HashMap" parameterType="java.lang.String">
         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
-                ,zz.dzzmc,cf.filename,cf.fileurl
+                ,zz.dzzmc,cf.filename,cf.fileurl,cf.CREATETIME as fileCreateTime
         from pt_checkData pcd inner join  ZZ_ZZQKXX zz on pcd.dzzdm = zz.DZZDM
                               left join cf_file cf on pcd.dataId = cf.FILEREFID
         <where>
             <if test="year != null and year != ''">
                 and pcd.year = #{year}
             </if>
+            <if test="remark != null and remark != ''">
+                and pcd.remark like concat('%',#{remark},'%')
+            </if>
+            <if test="dzzdm != null and dzzdm != ''">
+                and pcd.dzzdm like concat('%',#{dzzdm},'%')
+            </if>
+            <if test="dzzdmInStr != null and dzzdmInStr != ''">
+                and pcd.dzzdm in (${dzzdmInStr})
+            </if>
         </where>
     </select>
     <select id="selectCheckScoreList" resultType="java.util.HashMap" parameterType="java.lang.String">
@@ -109,6 +124,9 @@
             <if test="recordStatus != null">
                 and pcs.recordStatus =#{recordStatus}
             </if>
+            <if test="dzzdmInStr != null and dzzdmInStr != ''">
+                and pcs.dzzdm in (${dzzdmInStr})
+            </if>
         </where>
     </select>
 </mapper>

+ 1 - 1
src/main/resources/static/app/main/party/checkData/edit.html

@@ -42,7 +42,7 @@
                         </table>
                     </div>
                     <bsfiles ng-model="reqFileModel"/>
-                    <div class="form_foot">
+                    <div class="form_foot" ng-show="isView">
                         <button type="button" class="btn btn-default" ng-click="$hide()">取消</button>
                         <button type="submit" class="btn btn-primary" form="editForm">提交</button>
                     </div>

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

@@ -87,6 +87,7 @@
                                     ng-click="export()">导出
                             </button>
                             <button class="btn btn-default1"
+                                    role-permission-code="checkData.btnAdd"
                                     ng-click="add()">新增
                             </button>
                         </div>
@@ -140,14 +141,21 @@
                                 <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="view(it)" title="查看">
+                                            查看
+                                        </button>
                                         <button
                                                 class="btn td-btn bg-light-green waves-effect"
                                                 ng-click="edit(it.dataid)"
+                                                role-permission-code="checkData.btnEdit"
                                                 title="修改">
                                             修改
                                         </button>
                                         <button
                                                 class="btn td-btn bg-pink waves-effect"
+                                                role-permission-code="checkData.btnDel"
                                                 ng-click="delete(it.dataid)" title="删除">
                                             删除
                                         </button>

+ 16 - 2
src/main/resources/static/app/main/party/checkData/list.js

@@ -29,6 +29,7 @@
             userid: AuthUser.getUser().Id,
             onlyshow_dw: $stateParams.type == 1 ? 1 : 0,
             remark: '',
+            roleID: AuthUser.getUser().curRoleId
         };
 
         $scope.pageInfo = {ptotal: 0};
@@ -104,12 +105,13 @@
         var editCtrl = function ($scope, $http,$partySelect,AuthUser) {
             $scope.params = editModal.params;
             $scope.dataModel = editModal.data;
+            $scope.isView = editModal.isView;
 
             $scope.reqFileModel = {
                 selectdata: {FileRefID: $scope.dataModel.dataid, pageindex: 1, pagesize: 10, ptotal: 0},//查询参数:FileRefID为文件关联ID
                 filetype: 71,//文件类型
                 items: [],//列表数据地址
-                readonly: false,//是否只能查看
+                readonly: !editModal.isView,//是否只能查看
                 title: '附件',
                 addFileButton: '上传',
                 typeparams: {
@@ -121,7 +123,9 @@
             $scope.save = function (isflag) {
                 if (isflag) {
                     $loading.show();
-                    $scope.dataModel.dzzdm =AuthUser.getUser().DPCode;
+                    if ($scope.dataModel.dzzdm == null) {
+                        $scope.dataModel.dzzdm = AuthUser.getUser().DPCode;
+                    }
                     $http({
                         method: "post",
                         url: "../../api/checkdata/saveCheckdata",
@@ -160,11 +164,21 @@
 
         //新增编辑
         $scope.add = function () {
+            editModal.isView = true;
             $scope.editRedit(null,'新增名单');
         };
         $scope.edit = function (id) {
+            editModal.isView = true;
             $scope.editRedit(id,'修改名单');
         };
+        $scope.view = function (it) {
+            editModal.data = JSON.parse(JSON.stringify(it));
+            editModal.isView = false;
+            editModal.params = {
+                title: '查看考核材料'
+            };
+            editModal.$promise.then(editModal.show);
+        };
 
         $scope.editRedit =(id,title)=>{
             $http.get("../../api/checkdata/getCheckdata", {

+ 1 - 0
src/main/resources/static/app/main/party/checkScore/edit.html

@@ -81,6 +81,7 @@
                             </tbody>
                         </table>
                     </div>
+                    <bsfiles ng-model="reqFileModel"/>
                     <div class="form_foot" ng-show="isView">
                         <button type="button" class="btn btn-default" ng-click="$hide()">取消</button>
                         <button type="submit" class="btn btn-primary" form="editForm">提交</button>

+ 17 - 1
src/main/resources/static/app/main/party/checkScore/list.js

@@ -30,6 +30,8 @@
             maxScore: null,
             onlyshow_dw: $stateParams.type == 1 ? 1 : 0,
             remark: '',
+            userid: AuthUser.getUser().Id,
+            roleID: AuthUser.getUser().curRoleId
         };
 
         $scope.pageInfo = {ptotal: 0};
@@ -167,6 +169,20 @@
             $scope.deleteQuestion = (index) => {
                 $scope.questionList.splice(index, 1);
             }
+
+            $scope.reqFileModel = {
+                selectdata: {FileRefID: $scope.dataModel.scoreid, pageindex: 1, pagesize: 10, ptotal: 0},//查询参数:FileRefID为文件关联ID
+                filetype: 71,//文件类型
+                items: [],//列表数据地址
+                readonly: !editModal.isView,//是否只能查看
+                title: '附件',
+                addFileButton: '上传',
+                typeparams: {
+                    types: ['jpg', 'bmp', 'png', 'gif', 'jpe', 'jpeg','mp4','avi','txt','pdf','doc','docx','xls','xlsx'],
+                    errormsg: '格式必须为*.jpg,*.gif,*.png,*.bmp,*.jpe,*.jpeg,*.mp4,*.avi,*.txt,*.pdf,*.doc,*.docx,*.xls,*.xlsx等格式'
+                }
+            };
+
             //保存
             $scope.save = function (isflag) {
                 if (isflag) {
@@ -234,7 +250,7 @@
                     if ($scope.selectparams[p] !== '' && $scope.selectparams[p] !== null)
                         params += ("&" + p + "=" + encodeURI($scope.selectparams[p]));
                 }
-                window.open('../../api/checkdata/exportCheckData' + params);
+                window.open('../../api/checkdata/exportCheckScore' + params);
             }
         };