Browse Source

项目上传,以及人员权限的修改

5 years ago
parent
commit
75c6273805

+ 3 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/constant/Constant.java

@@ -16,5 +16,8 @@ public class Constant {
     public static final String PROJECT_PREFIX = "YMXM";//项目编号
     public static final String UPLOAD = "上传";//上传
     public static final String DOWNLOAD = "下载";//下载
+    public static final Integer UPDATE_AUTHORITY = 0;//修改权限
+    public static final Integer DOWNLOAD_AUTHORITY = 1;//下载权限
+    public static final Integer VIEW_AUTHORITY = 2;//浏览权限
     public static final Integer APPROVAL_AUTHORITY = 3;//审批权限
 }

+ 15 - 1
cloud-model/src/main/java/com/hssx/cloudmodel/controller/ProjectFileController.java

@@ -65,7 +65,7 @@ public class ProjectFileController {
     @ResponseBody
     public HttpRespMsg dowloadFile(ProjectFile projectFile,String token){
         HttpRespMsg msg = projectFileService.dowloadFile(projectFile,token);
-        return null;
+        return msg;
     }
 
     /**
@@ -81,5 +81,19 @@ public class ProjectFileController {
         HttpRespMsg msg = projectFileService.getFileList(userVO);
         return msg;
     }
+
+    /**
+     * 项目文档的删除
+     * 参数: id 文档id
+     *
+     * @return
+     */
+    @ApiOperation("项目文档的删除")
+    @RequestMapping("/delFile")
+    @ResponseBody
+    public HttpRespMsg delFile(ProjectFile projectFile){
+        HttpRespMsg msg = projectFileService.delFile(projectFile);
+        return msg;
+    }
 }
 

+ 3 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/entity/Power.java

@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
 import java.io.Serializable;
 
 /**
@@ -49,6 +51,7 @@ public class Power extends Model<Power> {
      * 创建时间
      */
     @TableField("indate")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime indate;
 
     /**

+ 2 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/service/ProjectFileService.java

@@ -21,4 +21,6 @@ public interface ProjectFileService extends IService<ProjectFile> {
     HttpRespMsg dowloadFile(ProjectFile projectFile, String token);
 
     HttpRespMsg getFileList(UserVO userVO);
+
+    HttpRespMsg delFile(ProjectFile projectFile);
 }

+ 17 - 1
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/ProjectFileServiceImpl.java

@@ -102,7 +102,16 @@ public class ProjectFileServiceImpl extends ServiceImpl<ProjectFileMapper, Proje
     public HttpRespMsg dowloadFile(ProjectFile projectFile, String token) {
         HttpRespMsg msg = new HttpRespMsg();
         User user = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", token));
-        return null;
+        //添加上传记录
+        ProjectOperationDynamics dynamics = new ProjectOperationDynamics();
+        dynamics.setContent(Constant.UPLOAD);
+        ProjectFile file = projectFileMapper.selectById(projectFile.getId());
+        dynamics.setFileName(file.getFileName());
+        dynamics.setOperatorId(user.getId());
+        dynamics.setOperator(user.getUsername());
+        dynamics.setProjectId(projectFile.getProjectId());
+        projectOperationDynamicsMapper.insert(dynamics);
+        return msg;
     }
 
     @Override
@@ -113,4 +122,11 @@ public class ProjectFileServiceImpl extends ServiceImpl<ProjectFileMapper, Proje
         msg.data = list;
         return msg;
     }
+
+    @Override
+    public HttpRespMsg delFile(ProjectFile projectFile) {
+        HttpRespMsg msg = new HttpRespMsg();
+        msg.data = projectFileMapper.deleteById(projectFile.getId());
+        return msg;
+    }
 }

+ 41 - 14
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/ProjectServiceImpl.java

@@ -96,7 +96,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             } else if (flag == 1) {
                 projectMapper.updateById(project);
                 //删除之前添加的生产方公司
-                customCompanyMapper.delete(new QueryWrapper<CustomCompany>().eq("project_id",project.getId()));
+                customCompanyMapper.delete(new QueryWrapper<CustomCompany>().eq("project_id", project.getId()));
                 //重新添加生产方公司
                 if (customerCompanyIds != null && !"".equals(customerCompanyIds) && customerCompanyNames != null && !"".equals(customerCompanyNames)) {
                     List<Integer> ides = ListUtil.convertIntegerIdsArrayToList(customerCompanyIds);
@@ -114,10 +114,10 @@ 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));
+                powerMapper.delete(new QueryWrapper<Power>().eq("project_id", project.getId()).eq("power_type", Constant.APPROVAL_AUTHORITY));
                 //重新添加审批人
                 //1.添加资产方审批人
-                if(null != customerApproverId){
+                if (null != customerApproverId) {
                     User customerExaminer = userMapper.selectById(customerApproverId);
                     Company company = companyMapper.selectById(customerExaminer.getCompanyId());
                     ProjectApprove projectApprove = new ProjectApprove();
@@ -134,7 +134,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     power.setPowerType(Constant.APPROVAL_AUTHORITY);
                     powerMapper.insert(power);
                 }
-                if(null != ownerApproverId){
+                if (null != ownerApproverId) {
                     //2.添加生产方审批人
                     User ownerExaminer = userMapper.selectById(ownerApproverId);
                     Company company = companyMapper.selectById(ownerExaminer.getCompanyId());
@@ -239,16 +239,42 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     }
 
     @Override
-    public HttpRespMsg getProjectDetail(Project project,String token) {
+    public HttpRespMsg getProjectDetail(Project project, String token) {
+        Map<String, Object> map = new HashMap<>();
         HttpRespMsg msg = new HttpRespMsg();
+        ProjectVO vo = projectMapper.getProjectById(project.getId());
         User currentUser = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", token));
-        if(Constant.SYS_PARENT_ID == currentUser.getParentId()){
-            //超级管理员
+        if (Constant.SYS_PARENT_ID == currentUser.getParentId()) {
+            //当前人超级管理员 ,对项目止咳浏览
+            map.put("power", Constant.VIEW_AUTHORITY);
+        } else if (vo.getManagerId() == currentUser.getId()) {
+            //当前人是该项目的项目经理
+            String power = Constant.UPDATE_AUTHORITY + "," + Constant.DOWNLOAD_AUTHORITY
+                    + "," + Constant.VIEW_AUTHORITY;
+            if (projectApproveMapper.selectCount(new QueryWrapper<ProjectApprove>().eq("approver_id", currentUser.getId())) > 0) {
+                //查看当前项目经理是否为审批人
+                power = power+","+ Constant.APPROVAL_AUTHORITY;
+            }
+            map.put("power",power);
+        } else {
+            //该项目的参与人
+            StringBuilder pow = new StringBuilder();
+            List<Power> powers = powerMapper.selectList(new QueryWrapper<Power>().eq("project_id", project.getId()).eq("user_id", currentUser.getId()));
+            if(powers.size()>0){
+                for (Power power : powers) {
+                    if(pow.length()<0){
+                        pow.append(power.getPowerType());
+                    }else{
+                        pow.append(",");
+                        pow.append(power.getPowerType());
+                    }
+                }
+            }
+            map.put("power",pow.toString());
         }
-        ProjectVO vo = projectMapper.getProjectById(project.getId());
         List<User> users = projectMapper.getProjectUserById(project.getId());
         //处理users按照客户呼和供应商分组
-        System.out.println("users===>"+users);
+        System.out.println("users===>" + users);
         for (User user : users) {
             if (user.getSubordinateType() == 0) {
                 //资产方
@@ -258,24 +284,25 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 vo.getCustomUsers().add(user);
             }
         }
-        msg.data = vo;
+        map.put("vo",vo);
+        msg.data = map;
         return msg;
     }
 
     @Override
-    public HttpRespMsg getUserListByCompanyIds(String companyIds, Integer adminId,Integer projectId) {
+    public HttpRespMsg getUserListByCompanyIds(String companyIds, Integer adminId, Integer projectId) {
         HttpRespMsg msg = new HttpRespMsg();
         if (!"".equals(companyIds) && companyIds != null) {
             List<Integer> ids = ListUtil.convertIntegerIdsArrayToList(companyIds);
             //该项目的项目经理不能充当参与人
             Integer managerId = -1;
-            if(projectId != null){
+            if (projectId != null) {
                 Project project = projectMapper.selectById(projectId);
-                if(null != project.getManagerId()){
+                if (null != project.getManagerId()) {
                     managerId = project.getManagerId();
                 }
             }
-            msg.data = userMapper.selectList(new QueryWrapper<User>().in("company_id", ids).ne("id", adminId).ne("id",managerId));
+            msg.data = userMapper.selectList(new QueryWrapper<User>().in("company_id", ids).ne("id", adminId).ne("id", managerId));
         }
         return msg;
     }