Bläddra i källkod

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 år sedan
förälder
incheckning
301aaf7520

+ 31 - 22
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/MouldFileServiceImpl.java

@@ -540,6 +540,7 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
     public HttpRespMsg dowloadFileList(UserVO userVO, HttpServletRequest request, HttpServletResponse response, String downloadPath, String path) throws IOException {
         HttpRespMsg msg = new HttpRespMsg();
         User currentUser = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", userVO.getToken()));
+        List<String> sourceFileUrls = new ArrayList<>();
         if (null != userVO.getIds()) {
             List<Integer> ids = ListUtil.convertIntegerIdsArrayToList(userVO.getIds());
             List<MouldFile> mouldFiles = new ArrayList<>();
@@ -549,23 +550,25 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
                 if (0 == userVO.getDwgType()) {
                     mouldFiles = mouldFileMapper.selectList(new QueryWrapper<MouldFile>().eq("model_id", id).eq("state", 3).ne("blong_type", 4));
                 } else if (1 == userVO.getDwgType()) {
-                    //模具2D
-                    mouldFiles = mouldFileMapper.selectList(new QueryWrapper<MouldFile>().eq("model_id", id).eq("state", 3).isNull("part_id").eq("dwg_type", 0).eq("blong_type", 0));
-                } else if (2 == userVO.getDwgType()) {
                     //模具3D
                     mouldFiles = mouldFileMapper.selectList(new QueryWrapper<MouldFile>().eq("model_id", id).eq("state", 3).isNull("part_id").eq("dwg_type", 1).eq("blong_type", 0));
+                } else if (2 == userVO.getDwgType()) {
+                    //模具2D
+                    mouldFiles = mouldFileMapper.selectList(new QueryWrapper<MouldFile>().eq("model_id", id).eq("state", 3).isNull("part_id").eq("dwg_type", 0).eq("blong_type", 0));
                 } else if (3 == userVO.getDwgType()) {
-                    //零件2D
-                    mouldFiles = mouldFileMapper.selectList(new QueryWrapper<MouldFile>().eq("model_id", id).eq("state", 3).isNotNull("part_id").eq("dwg_type", 0).eq("blong_type", 1));
-                } else if (4 == userVO.getDwgType()) {
                     //零件3D
+                    mouldFiles = mouldFileMapper.selectList(new QueryWrapper<MouldFile>().eq("model_id", id).eq("state", 3).isNotNull("part_id").eq("dwg_type", 1).eq("blong_type", 1));
+                } else if (4 == userVO.getDwgType()) {
+                    //零件2D
                     mouldFiles = mouldFileMapper.selectList(new QueryWrapper<MouldFile>().eq("model_id", id).eq("state", 3).isNotNull("part_id").eq("dwg_type", 0).eq("blong_type", 1));
                 } else {
                     mouldFiles = mouldFileMapper.selectList(new QueryWrapper<MouldFile>().eq("model_id", id).eq("state", 3).eq("blong_type", 3));
                 }
+                if(mouldFiles.size()==0){
+                    continue;
+                }
 //                feedBackDirectMultiDownload(request, response, downloadPath, mould, mouldFiles, path);
                 String folderPath = path + mould.getModelNo() + mould.getModelName();
-                List<String> sourceFileUrls = new ArrayList<>();
                 for (MouldFile mouldFile : mouldFiles) {
                     sourceFileUrls.add(path.substring(0, path.length() - "/upload/".length()) + mouldFile.getFileUrl());
                     //添加下载动态
@@ -586,24 +589,30 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
                     newFolders.add(folder);
                 }
             }
-            // 生成的压缩文件
-            ZipFile zipFile = null;
-            SimpleDateFormat dateSdf2 = new SimpleDateFormat("yyyy年MM月dd+HH时mm分ss秒");
-            String fileName = dateSdf2.format(new Date()) + ".zip";
+
             try {
-                zipFile = new ZipFile(path + fileName);
-                ZipParameters parameters = new ZipParameters();
-                // 压缩方式
-                parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
-                // 压缩级别
-                parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
-                // 要打包的文件夹
-                if(newFolders.size()>0){
-                    for (String newFolder : newFolders) {
-                        zipFile.addFolder(newFolder, parameters);
+                // 生成的压缩文件
+                if(newFolders.size() > 0){
+                    ZipFile zipFile = null;
+                    SimpleDateFormat dateSdf2 = new SimpleDateFormat("yyyy年MM月dd+HH时mm分ss秒");
+                    String fileName = dateSdf2.format(new Date()) + ".zip";
+                    zipFile = new ZipFile(path + fileName);
+                    ZipParameters parameters = new ZipParameters();
+                    // 压缩方式
+                    parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
+                    // 压缩级别
+                    parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
+                    // 要打包的文件夹
+                    if(newFolders.size()>0){
+                        for (String newFolder : newFolders) {
+                            zipFile.addFolder(newFolder, parameters);
+                        }
                     }
+                    msg.data = "/upload/"+fileName;
+                }else{
+                    msg.setError("暂无文件");
+                    return msg;
                 }
-                msg.data = "/upload/"+fileName;
 //                File[] fs = currentFile.listFiles();
 //                // 遍历test文件夹下所有的文件、文件夹
 //                for (File f : fs) {

+ 27 - 2
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/ProjectServiceImpl.java

@@ -82,6 +82,17 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     project.setOwnerCompanyName(company.getCompanyName());
                     project.setProjectNo(Constant.PROJECT_PREFIX + seq);
                     projectMapper.insert(project);
+                    //给项目经理添加一条上传权限
+                    if(null != project.getManagerId()){
+                        Integer cot = powerMapper.selectCount(new QueryWrapper<Power>().eq("user_id", project.getManagerId()).eq("project_id", project.getId()).eq("power_type", 0));
+                        if(cot==0){
+                            Power power = new Power();
+                            power.setUserId(project.getManagerId());
+                            power.setProjectId(project.getId());
+                            power.setPowerType(Constant.UPDATE_AUTHORITY);
+                            powerMapper.insert(power);
+                        }
+                    }
                     //添加生产方关联公司
                     if (customerCompanyIds != null && !"".equals(customerCompanyIds) && customerCompanyNames != null && !"".equals(customerCompanyNames)) {
                         List<Integer> ides = ListUtil.convertIntegerIdsArrayToList(customerCompanyIds);
@@ -112,11 +123,25 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     }
                 }
             } else if (flag == 1) {
+                Project pro = projectMapper.selectById(project.getId());
                 projectMapper.updateById(project);
                 //删除参与人与项目项目经理相同id的人
                 projectUserMapper.delete(new QueryWrapper<ProjectUser>().eq("user_id", project.getManagerId()).eq("project_id", project.getId()));
                 //删除之前添加的生产方公司
                 customCompanyMapper.delete(new QueryWrapper<CustomCompany>().eq("project_id", project.getId()));
+                //删除之前的项目经理上传权限
+                powerMapper.delete(new QueryWrapper<Power>().eq("user_id", pro.getManagerId()).eq("project_id", pro.getId()).eq("power_type", 0));
+                //重新添加项目经理上传权限
+                if(null != project.getManagerId()){
+                    Integer cot = powerMapper.selectCount(new QueryWrapper<Power>().eq("user_id", project.getManagerId()).eq("project_id", project.getId()).eq("power_type", 0));
+                    if(cot==0){
+                        Power power = new Power();
+                        power.setUserId(project.getManagerId());
+                        power.setProjectId(project.getId());
+                        power.setPowerType(Constant.UPDATE_AUTHORITY);
+                        powerMapper.insert(power);
+                    }
+                }
                 //重新添加生产方公司
                 if (customerCompanyIds != null && !"".equals(customerCompanyIds) && customerCompanyNames != null && !"".equals(customerCompanyNames)) {
                     List<Integer> ides = ListUtil.convertIntegerIdsArrayToList(customerCompanyIds);
@@ -494,7 +519,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         if(Constant.SYS_ID == user.getParentId()){
             //资产方管理员
             uids = userCompanyMapper.selectList(new QueryWrapper<UserCompany>().eq("cooperation_company_id", user.getCompanyId()).in("belong_company_id",ids)).stream().map(UserCompany::getUserId).collect(Collectors.toList());
-            List<Integer> userIds = userMapper.selectList(new QueryWrapper<User>().eq("company_id", user.getCompanyId())).stream().map(User::getId).collect(Collectors.toList());
+            List<Integer> userIds = userMapper.selectList(new QueryWrapper<User>().eq("company_id", user.getCompanyId()).ne("parent_id",1)).stream().map(User::getId).collect(Collectors.toList());
             uids.addAll(userIds);
             qw.in("id",uids).ne("id",id);
         }else{
@@ -503,7 +528,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 Project pro = projectMapper.selectById(projectId);
                 user = userMapper.selectById(pro.getCreatorId());
                 uids = userCompanyMapper.selectList(new QueryWrapper<UserCompany>().eq("cooperation_company_id", user.getCompanyId()).in("belong_company_id",ids)).stream().map(UserCompany::getUserId).collect(Collectors.toList());
-                List<Integer> userIds = userMapper.selectList(new QueryWrapper<User>().eq("company_id", user.getCompanyId())).stream().map(User::getId).collect(Collectors.toList());
+                List<Integer> userIds = userMapper.selectList(new QueryWrapper<User>().eq("company_id", user.getCompanyId()).ne("parent_id",1)).stream().map(User::getId).collect(Collectors.toList());
                 uids.addAll(userIds);
                 qw.in("id",uids).ne("id",user.getId());
             }

+ 4 - 4
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/UserServiceImpl.java

@@ -344,8 +344,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                 int count = userMapper.selectCount(qw);
                 if (count > 0) {
                     User existingUser = userMapper.selectOne(qw);
-                    if(user.getCompanyId() != existingUser.getCompanyId()){
-                        msg.setError("该账号已存在,请勿重新创建");
+                    if(user.getCompanyId() != existingUser.getCompanyId() || existingUser.getParentId()==1){
+                        msg.setError("创建账号失败");
                         return msg;
                     }
                     List<Integer> pIds  = projectMapper.selectList(new QueryWrapper<Project>().eq("owner_company", parentUser.getCompanyId())).stream().map(Project::getId).collect(Collectors.toList());
@@ -450,8 +450,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                 if (count > 0) {
                     //当前账号已被创建
                     User existingUser = userMapper.selectOne(qw);
-                    if(user.getCompanyId() != existingUser.getCompanyId()){
-                        msg.setError("该账号已存在,请勿重新创建");
+                    if(user.getCompanyId() != existingUser.getCompanyId() || existingUser.getParentId()==1){
+                        msg.setError("创建账号失败");
                         return msg;
                     }
                     //查询该账号是否已参与创建项目经理的admin公司下的项目

+ 2 - 0
cloud-model/src/main/resources/mapper/MouldMapper.xml

@@ -120,6 +120,7 @@
             </if>
             <if test="userVO.type == 0">
                 AND tbm.equipment_id is not null
+                AND tbm.state != 4
             </if>
             <if test="userVO.mouleMap == -1">
                 AND tbmp.lng IS NOT NULL and tbmp.lat IS NOT NULL
@@ -163,6 +164,7 @@
             </if>
             <if test="userVO.type == 0">
                 AND tbm.equipment_id is not null
+                AND tbm.state != 4
             </if>
             AND tbm.project_id in
             <foreach item="item" index="index" collection="list"

+ 2 - 1
cloud-model/src/main/resources/mapper/ProjectMapper.xml

@@ -103,6 +103,7 @@
       c.project_id = p.id
     WHERE
       p.id = #{id}
+    GROUP BY c.company_id
     </select>
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
@@ -245,7 +246,7 @@
         <result column="user_id" property="userId" />
         <result column="project_id" property="projectId" />
     </resultMap>
-    
+
     <select id="selectUserPowerList" resultMap="BaseResultMapPower">
         SELECT
         tbpu.user_id user_id,tbpu.project_id project_id,tbu.username username,tbc.company_name,