Selaa lähdekoodia

项目报表服务修改
项目级别项目导入修改

yurk 2 vuotta sitten
vanhempi
commit
2a6fc3c5b6
12 muutettua tiedostoa jossa 266 lisäystä ja 33 poistoa
  1. 4 4
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/DepartmentController.java
  2. 21 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/DepartmentOtherManagerController.java
  3. 15 6
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectController.java
  4. 48 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/DepartmentOtherManager.java
  5. 1 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/vo/DepartmentVO.java
  6. 16 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/DepartmentOtherManagerMapper.java
  7. 16 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/DepartmentOtherManagerService.java
  8. 2 2
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/DepartmentService.java
  9. 20 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DepartmentOtherManagerServiceImpl.java
  10. 50 9
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DepartmentServiceImpl.java
  11. 55 11
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java
  12. 18 0
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/DepartmentOtherManagerMapper.xml

+ 4 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/DepartmentController.java

@@ -59,8 +59,8 @@ public class DepartmentController {
      * parentId 父级部门id
      */
     @RequestMapping("/add")
-    public HttpRespMsg insertDepartment(@RequestParam String name, Integer parentId, String managerId, String reportAuditUserid, HttpServletRequest request) {
-        return departmentService.insertDepartment(name, parentId, managerId, reportAuditUserid, request);
+    public HttpRespMsg insertDepartment(@RequestParam String name, Integer parentId, String managerId, String reportAuditUserid,String otherManagerIds, HttpServletRequest request) {
+        return departmentService.insertDepartment(name, parentId, managerId, reportAuditUserid,otherManagerIds, request);
     }
 
     /**
@@ -69,8 +69,8 @@ public class DepartmentController {
      * name 部门名称
      */
     @RequestMapping("/edit")
-    public HttpRespMsg updateDepartment(@RequestParam Integer id, @RequestParam String name, String managerId, String reportAuditUserid, HttpServletRequest request) {
-        return departmentService.updateDepartment(id, name, managerId, reportAuditUserid, request);
+    public HttpRespMsg updateDepartment(@RequestParam Integer id, @RequestParam String name, String managerId, String reportAuditUserid,String otherManagerIds, HttpServletRequest request) {
+        return departmentService.updateDepartment(id, name, managerId, reportAuditUserid,otherManagerIds, request);
     }
 
     /**

+ 21 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/DepartmentOtherManagerController.java

@@ -0,0 +1,21 @@
+package com.management.platform.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-07-26
+ */
+@RestController
+@RequestMapping("/department-other-manager")
+public class DepartmentOtherManagerController {
+
+}
+

+ 15 - 6
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectController.java

@@ -2,11 +2,9 @@ package com.management.platform.controller;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.management.platform.entity.Company;
-import com.management.platform.entity.Project;
-import com.management.platform.entity.ProviderCategory;
-import com.management.platform.entity.TimeType;
+import com.management.platform.entity.*;
 import com.management.platform.mapper.CompanyMapper;
+import com.management.platform.mapper.ProjectLevelMapper;
 import com.management.platform.mapper.ProviderCategoryMapper;
 import com.management.platform.mapper.TimeTypeMapper;
 import com.management.platform.service.ProjectService;
@@ -55,6 +53,8 @@ public class ProjectController {
     private ProviderCategoryMapper providerCategoryMapper;
     @Resource
     private TimeTypeMapper timeTypeMapper;
+    @Resource
+    private ProjectLevelMapper projectLevelMapper;
 
     /**
      * 获取我参与的全部项目的负责人列表
@@ -563,6 +563,7 @@ public class ProjectController {
         List<String> heads = new ArrayList<>();
         Company company = companyMapper.selectById(companyId);
         List<ProviderCategory> providerCategoryList = providerCategoryMapper.selectList(new QueryWrapper<ProviderCategory>().eq("company_id", companyId));
+        List<ProjectLevel> projectLevelList = projectLevelMapper.selectList(new QueryWrapper<ProjectLevel>().eq("company_id", companyId));
         List<String> collect = providerCategoryList.stream().distinct().map(pc -> pc.getProviderCategoryName()).collect(Collectors.toList());
         TimeType timeType = timeTypeMapper.selectById(companyId);
         if(timeType.getMainProjectState()==1){
@@ -736,7 +737,16 @@ public class ProjectController {
                                     break;
                                 case "级别":
                                     // 加载下拉列表内容
-                                    textList= new String[]{"正常", "紧急","重要","重要且紧急"};
+                                    if(timeType.getProjectLevelState()==1){
+                                        List<String> list = projectLevelList.stream().map(pl -> pl.getProjectLevelName()).collect(Collectors.toList());
+                                        Object[] array = list.toArray();
+                                        textList=new String[array.length];
+                                        for (int i1 = 0; i1 < array.length; i1++) {
+                                            textList[i1]=array[i1].toString();
+                                        }
+                                    }else {
+                                        textList= new String[]{"正常", "紧急","重要","重要且紧急"};
+                                    }
                                     constraint = DVConstraint
                                             .createExplicitListConstraint(textList);
                                     // 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列
@@ -801,7 +811,6 @@ public class ProjectController {
             os.flush();
             os.close();
         }catch(Exception e) {
-            System.out.println(result);
             e.printStackTrace();
             msg.setError("已存在模板名称为["+fileName+"]的文件,请删除后重新下载");
             return msg;

+ 48 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/DepartmentOtherManager.java

@@ -0,0 +1,48 @@
+package com.management.platform.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-07-26
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class DepartmentOtherManager extends Model<DepartmentOtherManager> {
+
+    private static final long serialVersionUID=1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("department_id")
+    private Integer departmentId;
+
+    /**
+     * 其他部门管理员
+     */
+    @TableField("other_manager_id")
+    private String otherManagerId;
+
+    @TableField("company_id")
+    private Integer companyId;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/vo/DepartmentVO.java

@@ -1,6 +1,5 @@
 package com.management.platform.entity.vo;
 
-import com.management.platform.entity.User;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -19,4 +18,5 @@ public class DepartmentVO {
     private String reportAuditUserid;
     private List<DepartmentVO> children;
     private List<HashMap> userList;
+    private List<String> otherManagerIds;
 }

+ 16 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/DepartmentOtherManagerMapper.java

@@ -0,0 +1,16 @@
+package com.management.platform.mapper;
+
+import com.management.platform.entity.DepartmentOtherManager;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-07-26
+ */
+public interface DepartmentOtherManagerMapper extends BaseMapper<DepartmentOtherManager> {
+
+}

+ 16 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/DepartmentOtherManagerService.java

@@ -0,0 +1,16 @@
+package com.management.platform.service;
+
+import com.management.platform.entity.DepartmentOtherManager;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-07-26
+ */
+public interface DepartmentOtherManagerService extends IService<DepartmentOtherManager> {
+
+}

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/DepartmentService.java

@@ -15,9 +15,9 @@ import javax.servlet.http.HttpServletRequest;
  * @since 2020-02-11
  */
 public interface DepartmentService extends IService<Department> {
-    HttpRespMsg insertDepartment(String departmentName, Integer superiorId, String managerId, String reportAuditUserid, HttpServletRequest request);
+    HttpRespMsg insertDepartment(String departmentName, Integer superiorId, String managerId, String reportAuditUserid,String otherManagerIds, HttpServletRequest request);
 
-    HttpRespMsg updateDepartment(Integer departmentId, String departmentName, String managerId, String reportAuditUserid, HttpServletRequest request);
+    HttpRespMsg updateDepartment(Integer departmentId, String departmentName, String managerId, String reportAuditUserid,String otherManagerIds, HttpServletRequest request);
 
     HttpRespMsg deleteDepartment(Integer departmentId, HttpServletRequest request);
 

+ 20 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DepartmentOtherManagerServiceImpl.java

@@ -0,0 +1,20 @@
+package com.management.platform.service.impl;
+
+import com.management.platform.entity.DepartmentOtherManager;
+import com.management.platform.mapper.DepartmentOtherManagerMapper;
+import com.management.platform.service.DepartmentOtherManagerService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-07-26
+ */
+@Service
+public class DepartmentOtherManagerServiceImpl extends ServiceImpl<DepartmentOtherManagerMapper, DepartmentOtherManager> implements DepartmentOtherManagerService {
+
+}

+ 50 - 9
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DepartmentServiceImpl.java

@@ -54,9 +54,11 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
     private LeaveSheetMapper leaveSheetMapper;
     @Resource
     private AuditWorkflowSettingMapper auditWorkflowSettingMapper;
+    @Resource
+    private DepartmentOtherManagerMapper departmentOtherManagerMapper;
     //新增部门
     @Override
-    public HttpRespMsg insertDepartment(String departmentName, Integer superiorId, String managerId, String reportAuditUserid,  HttpServletRequest request) {
+    public HttpRespMsg insertDepartment(String departmentName, Integer superiorId, String managerId, String reportAuditUserid,String otherManagerIds,  HttpServletRequest request) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         try {
             Integer companyId = userMapper.selectById(request.getHeader("Token")).getCompanyId();
@@ -80,6 +82,18 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
                         manager.setManageDeptId(department.getDepartmentId());
                         userMapper.updateById(manager);
                     }
+                    //修改其他负责人的部门
+                    if(otherManagerIds!=null&&!otherManagerIds.equals("")){
+                        String[] split = otherManagerIds.split(",");
+                        List<String> list = Arrays.asList(split);
+                        for (String s : list) {
+                            DepartmentOtherManager departmentOtherManager=new DepartmentOtherManager();
+                            departmentOtherManager.setDepartmentId(department.getDepartmentId());
+                            departmentOtherManager.setOtherManagerId(s);
+                            departmentOtherManager.setCompanyId(companyId);
+                            departmentOtherManagerMapper.insert(departmentOtherManager);
+                        }
+                    }
                 }
             } else {
                 httpRespMsg.setError("无所选父级部门");
@@ -93,7 +107,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
 
     //更新部门
     @Override
-    public HttpRespMsg updateDepartment(Integer departmentId, String departmentName,String managerId, String reportAuditUserid, HttpServletRequest request) {
+    public HttpRespMsg updateDepartment(Integer departmentId, String departmentName,String managerId, String reportAuditUserid,String otherManagerIds, HttpServletRequest request) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         try {
             Integer companyId = userMapper.selectById(request.getHeader("Token")).getCompanyId();
@@ -147,6 +161,20 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
                             userMapper.updateById(manageDeptOldUser);
                         }
                     }
+                    if(otherManagerIds!=null&&!otherManagerIds.equals("")){
+                        String[] split = otherManagerIds.split(",");
+                        List<String> list = Arrays.asList(split);
+                        departmentOtherManagerMapper.delete(new QueryWrapper<DepartmentOtherManager>().eq("department_id",departmentId));
+                        for (String s : list) {
+                            DepartmentOtherManager departmentOtherManager=new DepartmentOtherManager();
+                            departmentOtherManager.setDepartmentId(department.getDepartmentId());
+                            departmentOtherManager.setOtherManagerId(s);
+                            departmentOtherManager.setCompanyId(companyId);
+                            departmentOtherManagerMapper.insert(departmentOtherManager);
+                        }
+                    }else{
+                        departmentOtherManagerMapper.delete(new QueryWrapper<DepartmentOtherManager>().eq("department_id",departmentId));
+                    }
                 }
             }
         } catch (NullPointerException e) {
@@ -200,6 +228,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
                     //修改部门负责人
                     userMapper.update(new User().setManageDeptId(0), new QueryWrapper<User>()
                             .eq("manage_dept_id", departmentId));
+                    departmentOtherManagerMapper.delete(new QueryWrapper<DepartmentOtherManager>().eq("department_id",departmentId));
                 }
             }
 
@@ -264,7 +293,6 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
                 list.add(rootDeptVO);
                 fillSubDepartmentList(departmentList, rootDeptVO);
             });
-
             //返回数据
             httpRespMsg.data = list;
         } catch (NullPointerException e) {
@@ -276,12 +304,15 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
 
     //将部门PO转化为部门VO
     private DepartmentVO formatDepartmentToVO(Department department) {
+        List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("company_id", department.getCompanyId()));
+        List<String> collect = departmentOtherManagerList.stream().filter(dm -> dm.getDepartmentId().equals(department.getDepartmentId())).map(vo -> vo.getOtherManagerId()).collect(Collectors.toList());
         //这俩东西并没有继承关系
         return new DepartmentVO()
                 .setId(department.getDepartmentId())
                 .setManagerId(department.getManagerId())
                 .setLabel(department.getDepartmentName())
                 .setParentId(department.getSuperiorId())
+                .setOtherManagerIds(collect)
                 .setReportAuditUserid(department.getReportAuditUserid());
     }
 
@@ -295,18 +326,22 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
             //当前用户管理部门
             List<Integer> deptIds=null;
             List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", targetUser.getId()).eq("company_id", companyId));
+            List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("other_manager_id", targetUser.getId()));
             List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看全公司");
             List<SysRichFunction> functionDpartList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看负责部门");
             List<SysRichFunction> functionTimeList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看工时统计");
             List<SysRichFunction> functionCostList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看成本统计");
             //判断查看权限
             if(functionAllList.size()==0){
+                deptIds=new ArrayList<>();
                 if(functionDpartList.size()>0){
                     if(functionTimeList.size()>0||functionCostList.size()>0){
-                        deptIds = departmentList.stream().map(dp -> dp.getDepartmentId()).distinct().collect(Collectors.toList());
+                        List<Integer> collect = departmentList.stream().map(dp -> dp.getDepartmentId()).distinct().collect(Collectors.toList());
+                        List<Integer> otherCollect = departmentOtherManagerList.stream().distinct().map(dom -> dom.getDepartmentId()).collect(Collectors.toList());
+                        collect.addAll(otherCollect);
+                        deptIds.addAll(collect);
                     }
                 }else {
-                    deptIds=new ArrayList<>();
                     //是不是要加
                     deptIds.add(-1);
                 }
@@ -383,23 +418,25 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
             List<Integer> deptIds=null;
             List<Department> allDepartmentList=departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id",companyId));
             List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", targetUser.getId()).eq("company_id", companyId));
+            List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("other_manager_id", targetUser.getId()));
             List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看全公司");
             List<SysRichFunction> functionDpartList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看负责部门");
             List<SysRichFunction> functionTimeList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看工时统计");
             List<SysRichFunction> functionCostList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看成本统计");
             //判断查看权限
             if(functionAllList.size()==0){
+                deptIds=new ArrayList<>();
                 if(functionDpartList.size()>0){
-                    deptIds=new ArrayList<>();
                     if(functionTimeList.size()>0||functionCostList.size()>0){
                         List<Integer> collect = departmentList.stream().distinct().map(dm -> dm.getDepartmentId()).collect(Collectors.toList());
+                        List<Integer> otherCollect = departmentOtherManagerList.stream().distinct().map(dom -> dom.getDepartmentId()).collect(Collectors.toList());
+                        collect.addAll(otherCollect);
                         for (Integer integer : collect) {
                             List<Integer> branchDepartment = getBranchDepartment(integer, allDepartmentList);
                             deptIds.addAll(branchDepartment);
                         }
                     }
                 }else {
-                    deptIds=new ArrayList<>();
                     deptIds.add(-1);
                 }
             }
@@ -497,18 +534,22 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
             //当前用户管理部门
             List<Integer> deptIds=null;
             List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", targetUser.getId()).eq("company_id", companyId));
+            List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("other_manager_id", targetUser.getId()));
             List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看全公司");
             List<SysRichFunction> functionDpartList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看负责部门");
             List<SysRichFunction> functionTimeList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看工时统计");
             List<SysRichFunction> functionCostList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看成本统计");
             //判断查看权限
             if(functionAllList.size()==0){
+                deptIds=new ArrayList<>();
                 if(functionDpartList.size()>0){
                     if(functionTimeList.size()>0||functionCostList.size()>0){
-                        deptIds = departmentList.stream().map(dp -> dp.getDepartmentId()).distinct().collect(Collectors.toList());
+                        List<Integer> collect = departmentList.stream().map(dp -> dp.getDepartmentId()).distinct().collect(Collectors.toList());
+                        List<Integer> otherCollect = departmentOtherManagerList.stream().distinct().map(dom -> dom.getDepartmentId()).collect(Collectors.toList());
+                        collect.addAll(otherCollect);
+                        deptIds.addAll(collect);
                     }
                 }else {
-                    deptIds=new ArrayList<>();
                     deptIds.add(-1);
                 }
             }

+ 55 - 11
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -140,6 +140,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     ProjectMainMapper projectMainMapper;
     @Resource
     ProjectLevelMapper projectLevelMapper;
+    @Resource
+    DepartmentOtherManagerMapper departmentOtherManagerMapper;
 
     @Resource
     private HttpServletResponse response;
@@ -759,6 +761,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             List<Integer> deptIds=null;
             List<Department> allDepartmentList=departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id",companyId));
             List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", targetUser.getId()).eq("company_id", companyId));
+            List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("other_manager_id", targetUser.getId()));
             List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看全公司");
             List<SysRichFunction> functionDpartList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看负责部门");
             List<SysRichFunction> functionTimeList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看工时统计");
@@ -769,6 +772,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     deptIds=new ArrayList<>();
                     if(functionTimeList.size()>0||functionCostList.size()>0){
                         List<Integer> collect = departmentList.stream().distinct().map(dm -> dm.getDepartmentId()).collect(Collectors.toList());
+                        List<Integer> otherCollect = departmentOtherManagerList.stream().distinct().map(dom -> dom.getDepartmentId()).collect(Collectors.toList());
+                        collect.addAll(otherCollect);
                         for (Integer integer : collect) {
                             List<Integer> branchDepartment = getBranchDepartment(integer, allDepartmentList);
                             deptIds.addAll(branchDepartment);
@@ -902,18 +907,22 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             //当前用户管理部门
             List<Integer> deptIds=null;
             List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", targetUser.getId()).eq("company_id", companyId));
+            List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("other_manager_id", targetUser.getId()));
             List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看全公司");
             List<SysRichFunction> functionDpartList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看负责部门");
             List<SysRichFunction> functionTimeList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看工时统计");
             List<SysRichFunction> functionCostList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看成本统计");
             //判断查看权限
             if(functionAllList.size()==0){
+                deptIds=new ArrayList<>();
                 if(functionDpartList.size()>0){
                     if(functionTimeList.size()>0||functionCostList.size()>0){
-                        deptIds = departmentList.stream().map(dp -> dp.getDepartmentId()).distinct().collect(Collectors.toList());
+                        List<Integer> collect = departmentList.stream().map(dp -> dp.getDepartmentId()).distinct().collect(Collectors.toList());
+                        List<Integer> otherCollect = departmentOtherManagerList.stream().distinct().map(dom -> dom.getDepartmentId()).collect(Collectors.toList());
+                        collect.addAll(otherCollect);
+                        deptIds.addAll(otherCollect);
                     }
                 }else {
-                    deptIds=new ArrayList<>();
                     deptIds.add(-1);
                 }
             }
@@ -2269,11 +2278,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         List<Integer> deptIds=null;
         List<Department> allDepartmentList=departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id",user.getCompanyId()));
         List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", user.getId()).eq("company_id",user.getCompanyId()));
+        List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("other_manager_id", user.getId()));
         //判断查看权限
         if(functionAllList.size()==0){
             if(functionDeptList.size()>0){
                 deptIds=new ArrayList<>();
                 List<Integer> collect = departmentList.stream().distinct().map(dm -> dm.getDepartmentId()).collect(Collectors.toList());
+                List<Integer> otherCollect = departmentOtherManagerList.stream().distinct().map(dom -> dom.getDepartmentId()).collect(Collectors.toList());
+                collect.addAll(otherCollect);
                 for (Integer integer : collect) {
                     List<Integer> branchDepartment = getBranchDepartment(integer, allDepartmentList);
                     deptIds.addAll(branchDepartment);
@@ -2309,11 +2321,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             List<Integer> deptIds=null;
             List<Department> allDepartmentList=departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id",user.getCompanyId()));
             List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", user.getId()).eq("company_id",user.getCompanyId()));
+            List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("other_manager_id", user.getId()));
             //判断查看权限
             if(functionAllList.size()==0){
                 if(functionDeptList.size()>0){
                     deptIds=new ArrayList<>();
                     List<Integer> collect = departmentList.stream().distinct().map(dm -> dm.getDepartmentId()).collect(Collectors.toList());
+                    List<Integer> otherCollect = departmentOtherManagerList.stream().distinct().map(dom -> dom.getDepartmentId()).collect(Collectors.toList());
+                    collect.addAll(otherCollect);
                     for (Integer integer : collect) {
                         List<Integer> branchDepartment = getBranchDepartment(integer, allDepartmentList);
                         deptIds.addAll(branchDepartment);
@@ -2625,18 +2640,25 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 List<ProviderInfo> providerInfoList = providerInfoMapper.selectList(new QueryWrapper<ProviderInfo>().eq("company_id", user.getCompanyId()));
                 //获取主项目
                 List<ProjectMain> projectMainList = projectMainMapper.selectList(new QueryWrapper<ProjectMain>().eq("company_id", user.getCompanyId()));
+                List<ProjectLevel> projectLevelList = projectLevelMapper.selectList(new QueryWrapper<ProjectLevel>().eq("company_id", user.getCompanyId()));
                 TimeType timeType = timeTypeMapper.selectById(company.getId());
                 List<Project> projectList = new ArrayList<Project>();
                 //由于第一行需要指明列对应的标题
                 int rowNum = sheet.getLastRowNum();
                 HashMap<String, Integer> projectLevelMap = new HashMap<>();
-                projectLevelMap.put("正常", 1);
-                projectLevelMap.put("紧急", 2);
-                projectLevelMap.put("重要", 3);
-                projectLevelMap.put("重要且紧急", 4);
-                projectLevelMap.put("低风险", 5);
-                projectLevelMap.put("中风险", 6);
-                projectLevelMap.put("高风险", 7);
+                if(timeType.getProjectLevelState()==1){
+                    for (ProjectLevel projectLevel : projectLevelList) {
+                        projectLevelMap.put(projectLevel.getProjectLevelName(),projectLevel.getId());
+                    }
+                }else {
+                    projectLevelMap.put("正常", 1);
+                    projectLevelMap.put("紧急", 2);
+                    projectLevelMap.put("重要", 3);
+                    projectLevelMap.put("重要且紧急", 4);
+                    projectLevelMap.put("低风险", 5);
+                    projectLevelMap.put("中风险", 6);
+                    projectLevelMap.put("高风险", 7);
+                }
                 List<String> existCodeList = new ArrayList<>();
                 int importCount = 0;
                 for (int rowIndex = 0; rowIndex <= rowNum; rowIndex++) {
@@ -3302,11 +3324,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         List<Integer> deptIds=null;
         List<Department> allDepartmentList=departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id",user.getCompanyId()));
         List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", user.getId()).eq("company_id",user.getCompanyId()));
+        List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("other_manager_id", user.getId()));
         //判断查看权限
         if(functionAllList.size()==0){
             if(functionDeptList.size()>0){
                 deptIds=new ArrayList<>();
                 List<Integer> collect = departmentList.stream().distinct().map(dm -> dm.getDepartmentId()).collect(Collectors.toList());
+                List<Integer> otherCollect = departmentOtherManagerList.stream().distinct().map(dom -> dom.getDepartmentId()).collect(Collectors.toList());
+                collect.addAll(otherCollect);
                 for (Integer integer : collect) {
                     List<Integer> branchDepartment = getBranchDepartment(integer, allDepartmentList);
                     deptIds.addAll(branchDepartment);
@@ -3696,6 +3721,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             List<Integer> deptIds=null;
             List<Department> allDepartmentList=departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id",companyId));
             List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", targetUser.getId()).eq("company_id", companyId));
+            List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("other_manager_id", targetUser.getId()));
             List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看全公司");
             List<SysRichFunction> functionDpartList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看负责部门");
             List<SysRichFunction> functionTimeList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看工时统计");
@@ -3706,6 +3732,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     deptIds=new ArrayList<>();
                     if(functionTimeList.size()>0||functionCostList.size()>0){
                         List<Integer> collect = departmentList.stream().distinct().map(dm -> dm.getDepartmentId()).collect(Collectors.toList());
+                        List<Integer> otherCollect = departmentOtherManagerList.stream().distinct().map(dom -> dom.getDepartmentId()).collect(Collectors.toList());
+                        collect.addAll(otherCollect);
                         for (Integer integer : collect) {
                             List<Integer> branchDepartment = getBranchDepartment(integer, allDepartmentList);
                             deptIds.addAll(branchDepartment);
@@ -3839,18 +3867,22 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             //当前用户管理部门
             List<Integer> deptIds=null;
             List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", targetUser.getId()).eq("company_id", companyId));
+            List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("other_manager_id", targetUser.getId()));
             List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看全公司");
             List<SysRichFunction> functionDpartList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看负责部门");
             List<SysRichFunction> functionTimeList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看工时统计");
             List<SysRichFunction> functionCostList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看成本统计");
             //判断查看权限
             if(functionAllList.size()==0){
+                deptIds=new ArrayList<>();
                 if(functionDpartList.size()>0){
                     if(functionTimeList.size()>0||functionCostList.size()>0){
-                        deptIds = departmentList.stream().map(dp -> dp.getDepartmentId()).distinct().collect(Collectors.toList());
+                        List<Integer> collect  = departmentList.stream().map(dp -> dp.getDepartmentId()).distinct().collect(Collectors.toList());
+                        List<Integer> otherCollect = departmentOtherManagerList.stream().distinct().map(dom -> dom.getDepartmentId()).collect(Collectors.toList());
+                        collect.addAll(otherCollect);
+                        deptIds.addAll(collect);
                     }
                 }else {
-                    deptIds=new ArrayList<>();
                     deptIds.add(-1);
                 }
             }
@@ -3986,11 +4018,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         List<Integer> deptIds=null;
         List<Department> allDepartmentList=departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id",user.getCompanyId()));
         List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", user.getId()).eq("company_id",user.getCompanyId()));
+        List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("other_manager_id", user.getId()));
         //判断查看权限
         if(functionAllList.size()==0){
             if(functionDeptList.size()>0){
                 deptIds=new ArrayList<>();
                 List<Integer> collect = departmentList.stream().distinct().map(dm -> dm.getDepartmentId()).collect(Collectors.toList());
+                List<Integer> otherCollect = departmentOtherManagerList.stream().distinct().map(dom -> dom.getDepartmentId()).collect(Collectors.toList());
+                collect.addAll(otherCollect);
                 for (Integer integer : collect) {
                     List<Integer> branchDepartment = getBranchDepartment(integer, allDepartmentList);
                     deptIds.addAll(branchDepartment);
@@ -4027,11 +4062,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         List<Integer> deptIds=null;
         List<Department> allDepartmentList=departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id",user.getCompanyId()));
         List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", user.getId()).eq("company_id",user.getCompanyId()));
+        List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("other_manager_id", user.getId()));
         //判断查看权限
         if(functionAllList.size()==0){
             if(functionDeptList.size()>0){
                 deptIds=new ArrayList<>();
                 List<Integer> collect = departmentList.stream().distinct().map(dm -> dm.getDepartmentId()).collect(Collectors.toList());
+                List<Integer> otherCollect = departmentOtherManagerList.stream().distinct().map(dom -> dom.getDepartmentId()).collect(Collectors.toList());
+                collect.addAll(otherCollect);
                 for (Integer integer : collect) {
                     List<Integer> branchDepartment = getBranchDepartment(integer, allDepartmentList);
                     deptIds.addAll(branchDepartment);
@@ -4081,11 +4119,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         List<Integer> deptIds=null;
         List<Department> allDepartmentList=departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id",targetUser.getCompanyId()));
         List<Department> userDepartmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", targetUser.getId()).eq("company_id",targetUser.getCompanyId()));
+        List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("other_manager_id", targetUser.getId()));
         //判断查看权限
         if(functionAllList.size()==0){
             if(functionDeptList.size()>0){
                 deptIds=new ArrayList<>();
                 List<Integer> collect = userDepartmentList.stream().distinct().map(dm -> dm.getDepartmentId()).collect(Collectors.toList());
+                List<Integer> otherCollect = departmentOtherManagerList.stream().distinct().map(dom -> dom.getDepartmentId()).collect(Collectors.toList());
+                collect.addAll(otherCollect);
                 for (Integer integer : collect) {
                     List<Integer> branchDepartment = getBranchDepartment(integer, allDepartmentList);
                     deptIds.addAll(branchDepartment);
@@ -4318,11 +4359,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         List<Integer> deptIds=null;
         List<Department> allDepartmentList=departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id",targetUser.getCompanyId()));
         List<Department> userDepartmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", targetUser.getId()).eq("company_id",targetUser.getCompanyId()));
+        List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("other_manager_id", targetUser.getId()));
         //判断查看权限
         if(functionAllList.size()==0){
             if(functionDeptList.size()>0){
                 deptIds=new ArrayList<>();
                 List<Integer> collect = userDepartmentList.stream().distinct().map(dm -> dm.getDepartmentId()).collect(Collectors.toList());
+                List<Integer> otherCollect = departmentOtherManagerList.stream().distinct().map(dom -> dom.getDepartmentId()).collect(Collectors.toList());
+                collect.addAll(otherCollect);
                 for (Integer integer : collect) {
                     List<Integer> branchDepartment = getBranchDepartment(integer, allDepartmentList);
                     deptIds.addAll(branchDepartment);

+ 18 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/DepartmentOtherManagerMapper.xml

@@ -0,0 +1,18 @@
+<?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.management.platform.mapper.DepartmentOtherManagerMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.management.platform.entity.DepartmentOtherManager">
+        <id column="id" property="id" />
+        <result column="department_id" property="departmentId" />
+        <result column="other_manager_id" property="otherManagerId" />
+        <result column="company_id" property="companyId" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, department_id, other_manager_id, company_id
+    </sql>
+
+</mapper>