Forráskód Böngészése

Merge branch 'master' of http://47.100.37.243:10080/ZHOU/yunsu

# Conflicts:
#	cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/MouldFileServiceImpl.java
5 éve
szülő
commit
ac7fab21fb

+ 116 - 100
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/MouldFileServiceImpl.java

@@ -176,7 +176,7 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
                                 content = "试模验收文档";
                             } else if (blongType == 3) {
                                 content = "保养方案文档";
-                            }else if (blongType == 5) {
+                            } else if (blongType == 5) {
                                 content = "模具报废文档";
                             }
                             newsNotice.setContent("有新的" + content + ",待您审批。");
@@ -189,7 +189,7 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
                     }
                 }
                 msg.data = projectFile;
-            }else {
+            } else {
                 //模具更新操作
                 MouldFile projectFile = new MouldFile();
                 projectFile.setUplodtorId(user.getId());
@@ -249,11 +249,11 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
                         //审批通过
                         dynamics.setIsPass(1);
                         //模具更新的审批
-                        if(oldData.getBlongType()==5){
+                        if (oldData.getBlongType() == 5) {
                             //将模具修改为已报废
                             Mould mould = new Mould();
                             mould.setId(oldData.getModelId());
-                            mould.setState(4+"");//4已报废状态
+                            mould.setState(4 + "");//4已报废状态
                             mouldMapper.updateById(mould);
                         }
                     } else {
@@ -265,26 +265,27 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
                     dynamics.setIsPass(0);
                 }
                 mouldFileMapper.updateById(mf);
-                if(oldData.getBlongType()==4){
+                if (oldData.getBlongType() == 4) {
                     //审批的是模具报废文件
-//                    if(mouldOperationDynamicsMapper.selectCount(new MouldOperationDynamics())){
-//
-//                    }
-                        dynamics.setMouldId(oldData.getId());
-                        dynamics.setBelongType(oldData.getBlongType());
-                        dynamics.setContent(Constant.APPROVAL);
-                        dynamics.setOperatorId(user.getId());
-                        dynamics.setOperatorName(user.getUsername());
-                        mouldOperationDynamicsMapper.insert(dynamics);
-
-                }else{
-                        //添加审批记录
+                    Integer count = mouldOperationDynamicsMapper.selectCount(new QueryWrapper<MouldOperationDynamics>()
+                            .eq("belong_type", 4).eq("is_pass", dynamics.getIsPass()).eq("mould_id", oldData.getModelId()));
+                    if (count != 0) {
+                        return msg;
+                    }
+                    dynamics.setMouldId(oldData.getId());
+                    dynamics.setBelongType(oldData.getBlongType());
+                    dynamics.setContent(Constant.APPROVAL);
+                    dynamics.setOperatorId(user.getId());
+                    dynamics.setOperatorName(user.getUsername());
+                    mouldOperationDynamicsMapper.insert(dynamics);
+                } else {
+                    //添加审批记录
                     dynamics.setMouldId(oldData.getId());
                     dynamics.setBelongType(oldData.getBlongType());
                     dynamics.setFileId(oldData.getId());
-                    if(null != oldData.getFileName2()){
-                        dynamics.setFileName(oldData.getFileName()+","+oldData.getFileName2());
-                    }else{
+                    if (null != oldData.getFileName2()) {
+                        dynamics.setFileName(oldData.getFileName() + "," + oldData.getFileName2());
+                    } else {
                         dynamics.setFileName(oldData.getFileName());
                     }
                     dynamics.setOperatorId(user.getId());
@@ -300,10 +301,10 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
                         mf.setState(3);
                         dynamics.setIsPass(1);
                         //将模具修改为已报废
-                        if(oldData.getBlongType()==5){
+                        if (oldData.getBlongType() == 5) {
                             Mould mould = new Mould();
                             mould.setId(oldData.getModelId());
-                            mould.setState(4+"");//4已报废状态
+                            mould.setState(4 + "");//4已报废状态
                             mouldMapper.updateById(mould);
                         }
                     } else {
@@ -315,19 +316,34 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
                     dynamics.setIsPass(0);
                 }
                 mouldFileMapper.updateById(mf);
-                //添加审批记录
-                dynamics.setMouldId(oldData.getId());
-                dynamics.setBelongType(oldData.getBlongType());
-                dynamics.setFileId(oldData.getId());
-                if(null != oldData.getFileName2()){
-                    dynamics.setFileName(oldData.getFileName()+","+oldData.getFileName2());
+                if (oldData.getBlongType() == 4) {
+                    //审批的是模具报废文件
+                    Integer count = mouldOperationDynamicsMapper.selectCount(new QueryWrapper<MouldOperationDynamics>()
+                            .eq("belong_type", 4).eq("is_pass", dynamics.getIsPass()).eq("mould_id", oldData.getModelId()));
+                    if (count != 0) {
+                        return msg;
+                    }
+                    dynamics.setMouldId(oldData.getId());
+                    dynamics.setBelongType(oldData.getBlongType());
+                    dynamics.setContent(Constant.APPROVAL);
+                    dynamics.setOperatorId(user.getId());
+                    dynamics.setOperatorName(user.getUsername());
+                    mouldOperationDynamicsMapper.insert(dynamics);
                 }else{
-                    dynamics.setFileName(oldData.getFileName());
+                    //添加审批记录
+                    dynamics.setMouldId(oldData.getId());
+                    dynamics.setBelongType(oldData.getBlongType());
+                    dynamics.setFileId(oldData.getId());
+                    if (null != oldData.getFileName2()) {
+                        dynamics.setFileName(oldData.getFileName() + "," + oldData.getFileName2());
+                    } else {
+                        dynamics.setFileName(oldData.getFileName());
+                    }
+                    dynamics.setOperatorId(user.getId());
+                    dynamics.setOperatorName(user.getUsername());
+                    dynamics.setContent(Constant.APPROVAL);
+                    mouldOperationDynamicsMapper.insert(dynamics);
                 }
-                dynamics.setOperatorId(user.getId());
-                dynamics.setOperatorName(user.getUsername());
-                dynamics.setContent(Constant.APPROVAL);
-                mouldOperationDynamicsMapper.insert(dynamics);
             } else {
                 msg.setError("只有生产方和资产方才能审核, subordinteType = " + user.getSubordinateType() + ", 无效!");
             }
@@ -443,14 +459,14 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
     }
 
     @Override
-    public HttpRespMsg dowloadFileList(UserVO userVO, HttpServletRequest request, HttpServletResponse response, String downloadPath,String path) throws IOException {
+    public HttpRespMsg dowloadFileList(UserVO userVO, HttpServletRequest request, HttpServletResponse response, String downloadPath, String path) throws IOException {
         HttpRespMsg msg = new HttpRespMsg();
         if (null != userVO.getIds()) {
             List<Integer> ids = ListUtil.convertIntegerIdsArrayToList(userVO.getIds());
             for (Integer id : ids) {
                 Mould mould = mouldMapper.selectById(id);
                 List<MouldFile> mouldFiles = mouldFileMapper.selectList(new QueryWrapper<MouldFile>().eq("model_id", id).eq("state", 3));
-                feedBackDirectMultiDownload(request, response, downloadPath, mould, mouldFiles,path);
+                feedBackDirectMultiDownload(request, response, downloadPath, mould, mouldFiles, path);
             }
         }
         return msg;
@@ -474,61 +490,61 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
                 }
                 String fileName = "";
 //                if (!file.isEmpty()) {
-                    fileName = file.getOriginalFilename();
-                    String fileNamePrex = fileName.substring(0, fileName.lastIndexOf("."));
-                    String[] split = fileNamePrex.split("\\+");
-                    System.out.println("split" + split);
-                    for (Part part : partLists) {
-                        if (part.getPartNo().equals(split[0])) {
-                            partFile.setPartId(part.getId());
-                            if (Constant.PART_FILE_2D.equals(split[1])) {
-                                MouldFile mouldFile = mouldFileMapper.selectOne(new QueryWrapper<MouldFile>().eq("part_id", part.getId()).eq("dwg_type", 0));
-                                if(mouldFile != null){
-                                    //把之前的文件删除
-                                    mouldFileMapper.deleteById(mouldFile);
-                                }
-                                partFile.setDwgType(0);
-                            }else if (Constant.PART_FILE_3D.equals(split[1])) {
-                                MouldFile mouldFile = mouldFileMapper.selectOne(new QueryWrapper<MouldFile>().eq("part_id", part.getId()).eq("dwg_type", 1));
-                                if(mouldFile != null){
-                                    //把之前的文件删除
-                                    mouldFileMapper.deleteById(mouldFile);
-                                }
-                                partFile.setDwgType(1);
+                fileName = file.getOriginalFilename();
+                String fileNamePrex = fileName.substring(0, fileName.lastIndexOf("."));
+                String[] split = fileNamePrex.split("\\+");
+                System.out.println("split" + split);
+                for (Part part : partLists) {
+                    if (part.getPartNo().equals(split[0])) {
+                        partFile.setPartId(part.getId());
+                        if (Constant.PART_FILE_2D.equals(split[1])) {
+                            MouldFile mouldFile = mouldFileMapper.selectOne(new QueryWrapper<MouldFile>().eq("part_id", part.getId()).eq("dwg_type", 0));
+                            if (mouldFile != null) {
+                                //把之前的文件删除
+                                mouldFileMapper.deleteById(mouldFile);
+                            }
+                            partFile.setDwgType(0);
+                        } else if (Constant.PART_FILE_3D.equals(split[1])) {
+                            MouldFile mouldFile = mouldFileMapper.selectOne(new QueryWrapper<MouldFile>().eq("part_id", part.getId()).eq("dwg_type", 1));
+                            if (mouldFile != null) {
+                                //把之前的文件删除
+                                mouldFileMapper.deleteById(mouldFile);
                             }
+                            partFile.setDwgType(1);
                         }
                     }
-                    partFile.setFileName(fileName);
-                    partFile.setFileSize(FileUtil.getReadableFileSize(file.getSize()));
-                    System.out.println("上传文件名称" + file.getName() + ", dir = " + dir.getAbsolutePath());
-                    int pos = fileName.lastIndexOf(".");
-                    String rand = UUID.randomUUID().toString().replaceAll("-", "");
-                    String sufix = fileName.substring(pos);
-                    fileName = rand + sufix;
-                    partFile.setFileType(sufix);//文件后缀
-                    partFile.setFileUrl("/upload/" + fileName);
-                    partFile.setUplodtorId(user.getId());
-                    partFile.setUploadtor(user.getUsername());
-                    File saveFile = new File(dir, fileName);
-                    mouldFileMapper.insert(partFile);
-                    try {
-                        saveFile.createNewFile();
-                        file.transferTo(saveFile);
-                    } catch (IOException e) {
-                        e.printStackTrace();
-                        partFile = null;
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                        partFile = null;
-                    }
-                    //添加上传记录
-                    MouldOperationDynamics dynamics = new MouldOperationDynamics();
-                    dynamics.setContent(Constant.UPLOAD);
-                    dynamics.setFileName(file.getOriginalFilename());
-                    dynamics.setOperatorId(user.getId());
-                    dynamics.setOperatorName(user.getUsername());
-                    dynamics.setMouldId(userVO.getMouldId());
-                    mouldOperationDynamicsMapper.insert(dynamics);
+                }
+                partFile.setFileName(fileName);
+                partFile.setFileSize(FileUtil.getReadableFileSize(file.getSize()));
+                System.out.println("上传文件名称" + file.getName() + ", dir = " + dir.getAbsolutePath());
+                int pos = fileName.lastIndexOf(".");
+                String rand = UUID.randomUUID().toString().replaceAll("-", "");
+                String sufix = fileName.substring(pos);
+                fileName = rand + sufix;
+                partFile.setFileType(sufix);//文件后缀
+                partFile.setFileUrl("/upload/" + fileName);
+                partFile.setUplodtorId(user.getId());
+                partFile.setUploadtor(user.getUsername());
+                File saveFile = new File(dir, fileName);
+                mouldFileMapper.insert(partFile);
+                try {
+                    saveFile.createNewFile();
+                    file.transferTo(saveFile);
+                } catch (IOException e) {
+                    e.printStackTrace();
+                    partFile = null;
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    partFile = null;
+                }
+                //添加上传记录
+                MouldOperationDynamics dynamics = new MouldOperationDynamics();
+                dynamics.setContent(Constant.UPLOAD);
+                dynamics.setFileName(file.getOriginalFilename());
+                dynamics.setOperatorId(user.getId());
+                dynamics.setOperatorName(user.getUsername());
+                dynamics.setMouldId(userVO.getMouldId());
+                mouldOperationDynamicsMapper.insert(dynamics);
 //                }
                 msg.data = partFile;
             }
@@ -550,11 +566,11 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
         titleList.add("下载时间");
         list.add(titleList);
         QueryWrapper<MouldOperationDynamics> qw = new QueryWrapper<MouldOperationDynamics>();
-        qw.eq("content",Constant.DOWNLOAD);
+        qw.eq("content", Constant.DOWNLOAD);
         SimpleDateFormat dateSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        if(userVO.getStartTime() != null && userVO.getEndTime() != null){
-            qw.le("indate",userVO.getStartTime());
-            qw.ge("indate",userVO.getEndTime());
+        if (userVO.getStartTime() != null && userVO.getEndTime() != null) {
+            qw.le("indate", userVO.getStartTime());
+            qw.ge("indate", userVO.getEndTime());
         }
         List<MouldOperationDynamics> mouldOperationDynamics = mouldOperationDynamicsMapper.selectList(qw);
         for (MouldOperationDynamics dynamic : mouldOperationDynamics) {
@@ -564,30 +580,30 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
             //操作者名字
             rowList.add(dynamic.getOperatorName());
             //文件类型
-            if(dynamic.getBelongType()==0){
+            if (dynamic.getBelongType() == 0) {
                 rowList.add("模具文档");
-            }else if(dynamic.getBelongType()==1){
+            } else if (dynamic.getBelongType() == 1) {
                 rowList.add("零件文档");
-            }else if(dynamic.getBelongType()==2){
+            } else if (dynamic.getBelongType() == 2) {
                 rowList.add("试模验收");
-            }else if(dynamic.getBelongType()==3){
+            } else if (dynamic.getBelongType() == 3) {
                 rowList.add("保养方案");
-            }else if(dynamic.getBelongType()==4){
+            } else if (dynamic.getBelongType() == 4) {
                 rowList.add("模具更新");
-            }else if(dynamic.getBelongType()==5){
+            } else if (dynamic.getBelongType() == 5) {
                 rowList.add("模具报废");
             }
             //下载时间
             rowList.add(dateSdf.format(dynamic.getIndate()));
         }
         Mould mould = mouldMapper.selectById(userVO.getMouldId());
-        ExcelUtil.exportGeneralExcelByTitleAndList(response, mould.getModelNo()+mould.getModelName()+"-"+ dateSdf.format(new Date()), list);
+        ExcelUtil.exportGeneralExcelByTitleAndList(response, mould.getModelNo() + mould.getModelName() + "-" + dateSdf.format(new Date()), list);
         msg.data = mould;
         return msg;
     }
 
 
-    public Map<String, Object> feedBackDirectMultiDownload(HttpServletRequest request, HttpServletResponse response, String downloadPath, Mould vo, List<MouldFile> mouldFiles,String oldFilePath) throws IOException {
+    public Map<String, Object> feedBackDirectMultiDownload(HttpServletRequest request, HttpServletResponse response, String downloadPath, Mould vo, List<MouldFile> mouldFiles, String oldFilePath) throws IOException {
         //压缩文件初始设置
         String path = downloadPath;
         String base_name = vo.getModelNo() + vo.getModelName();
@@ -597,7 +613,7 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
         //mouldFiles为根据前台传过来的信息,通过数据库查询所得出的pdf文件路径集合(具体到后缀),此处省略
         File[] files = new File[mouldFiles.size()];//
         for (int i = 0; i < mouldFiles.size(); i++) {
-            files[i] = new File(oldFilePath+mouldFiles.get(i).getFileUrl());//获取所有需要下载的pdf
+            files[i] = new File(oldFilePath + mouldFiles.get(i).getFileUrl());//获取所有需要下载的pdf
         }
 
         // 创建临时压缩文件

+ 19 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/ProjectServiceImpl.java

@@ -21,6 +21,8 @@ import javax.annotation.Resource;
 import javax.jws.soap.SOAPBinding;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.stream.Collector;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -129,6 +131,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 projectApproveMapper.delete(new QueryWrapper<ProjectApprove>().eq("project_id", project.getId()));
                 //删除权限表里的审批权限数据
                 powerMapper.delete(new QueryWrapper<Power>().eq("project_id", project.getId()).eq("power_type", Constant.APPROVAL_AUTHORITY));
+                //删除之前项目参与人的下载权限
+                projectMapper.selectById(project.getId());
+                List<Integer> approverIds = projectApproveMapper.selectList(new QueryWrapper<ProjectApprove>().eq("project_id", project.getId()))
+                        .stream()
+                        .map(ProjectApprove::getApproverId)
+                        .collect(Collectors.toList());
+                powerMapper.delete(new QueryWrapper<Power>().in("user_id",approverIds));
                 //重新添加审批人
                 //1.添加资产方审批人
                 if (null != customerApproverId) {
@@ -147,6 +156,11 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     power.setProjectId(project.getId());
                     power.setPowerType(Constant.APPROVAL_AUTHORITY);
                     powerMapper.insert(power);
+                    //审批人默认有下载权限
+                    power.setUserId(customerExaminer.getId());
+                    power.setProjectId(project.getId());
+                    power.setPowerType(Constant.DOWNLOAD_AUTHORITY);
+                    powerMapper.insert(power);
                 }
                 if (null != ownerApproverId) {
                     //2.添加生产方审批人
@@ -165,6 +179,11 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     power.setProjectId(project.getId());
                     power.setPowerType(Constant.APPROVAL_AUTHORITY);
                     powerMapper.insert(power);
+                    //审批人默认有下载权限
+                    power.setUserId(ownerExaminer.getId());
+                    power.setProjectId(project.getId());
+                    power.setPowerType(Constant.DOWNLOAD_AUTHORITY);
+                    powerMapper.insert(power);
                 }
                 //删除之前分配的人员
                 QueryWrapper<ProjectUser> qwPro = new QueryWrapper<>();