Browse Source

/task/getTask接口新增返回数据:所属项目的负责人id,所属任务分组的负责人id
以及人员月份工时报表未完成代码

cs 2 years ago
parent
commit
b2cfbac9da

+ 12 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectController.java

@@ -29,6 +29,7 @@ import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -417,6 +418,17 @@ public class ProjectController {
         return projectService.exportAllProjectCost(request);
     }
 
+    //分页查询员工月度工时表
+    @RequestMapping("/getEmpMonthHours")
+    public HttpRespMsg getEmpMonthHours(@RequestParam Integer pageIndex, @RequestParam Integer pageSize, LocalDate Month,Integer departmentId,String userId) {
+        return projectService.getEmpMonthHours(pageIndex, pageSize, Month,departmentId,userId, request);
+    }
+
+    //导出员工月度工时表
+    @RequestMapping("/exportEmpMonthHours")
+    public HttpRespMsg exportEmpMonthHours() {
+        return projectService.exportAllProjectCost(request);
+    }
 
     //分页查询项目收支平衡表
     @RequestMapping("/getProjectInAndOut")

+ 7 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/TaskController.java

@@ -79,6 +79,8 @@ public class TaskController {
     private GroupParticipatorMapper groupParticipatorMapper;
     @Resource
     private DepartmentService departmentService;
+    @Resource
+    private TaskGroupService taskGroupService;
 
     @RequestMapping("/save")
     @Transactional
@@ -612,6 +614,11 @@ public class TaskController {
         }
         //查询任务的执行人
         t.setExecutorList(taskExecutorMapper.selectList(new QueryWrapper<TaskExecutor>().eq("task_id", t.getId())));
+        //查询项目负责人id以及所属任务分组负责人id
+        Project project = projectService.getOne(new QueryWrapper<Project>().eq("id", t.getProjectId()));
+        TaskGroup group = taskGroupService.getOne(new QueryWrapper<TaskGroup>().eq("id", t.getGroupId()));
+        t.setProjectInchargerId(project.getInchargerId()==null?"":project.getInchargerId());
+        t.setGroupInchargerId(group.getInchargerId()==null?"":group.getInchargerId());
         msg.data = t;
         return msg;
     }

+ 12 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/Task.java

@@ -109,6 +109,18 @@ public class Task extends Model<Task> {
     @TableField("project_id")
     private Integer projectId;
 
+    /**
+     * 项目负责人id
+     */
+    @TableField(exist = false)
+    private String projectInchargerId;
+
+    /**
+     * 分组负责人id
+     */
+    @TableField(exist = false)
+    private String groupInchargerId;
+
     /**
      * 当前阶段id
      */

+ 3 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ProjectService.java

@@ -9,6 +9,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
 import java.time.LocalDate;
+import java.util.Map;
 
 /**
  * <p>
@@ -196,4 +197,6 @@ public interface ProjectService extends IService<Project> {
     HttpRespMsg removeDuplicateParticipators(Integer companyId, HttpServletRequest request);
 
     HttpRespMsg synchronizationProject(String dataJson);
+
+    HttpRespMsg getEmpMonthHours(Integer pageIndex, Integer pageSize, LocalDate Month,Integer departmentId,String userId, HttpServletRequest request);
 }

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

@@ -851,7 +851,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
                 if (realUser.size()!=0){
                     for (DepartmentVO departmentVO : list) {
                         for (User user : realUser) {
-                            if (departmentVO.getId() == user.getDepartmentId()){
+                            if (departmentVO.getId().equals(user.getDepartmentId())){
                                 temp.add(departmentVO);
                                 continue;
                             }

+ 57 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -6972,4 +6972,61 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         return result;
     }
 
+    //分页查询员工月度工时表
+    @Override
+    public HttpRespMsg getEmpMonthHours(Integer pageIndex, Integer pageSize, LocalDate Month,Integer department,String userId, HttpServletRequest request) {
+        HttpRespMsg httpRespMsg =new HttpRespMsg();
+//        User targetUser = userMapper.selectById(request.getHeader("token"));
+//        List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "全部人员月度工时表");
+//        List<SysRichFunction> functionDeptList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "负责部门月度工时表");
+//        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){
+//            deptIds=new ArrayList<>();
+//            deptIds.add(-1);
+//            if(functionDeptList.size()>0){
+//                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);
+//                }
+//            }
+//        }
+//        long total;
+//        List<Map<String,Object>> resultList;
+//        List<Integer> branchDepartment =null;
+//        if(departmentId!=null){
+//            branchDepartment = getBranchDepartment(departmentId, allDepartmentList);
+//        }
+//        if(pageIndex!=null&&pageSize!=null){
+//            Integer size=pageSize;
+//            Integer start=(pageIndex-1)*size;
+//            resultList=projectMapper.getUserWorkingTimeStatic(targetUser.getCompanyId(),startDate,endDate,start,size,userId,branchDepartment,deptIds);
+//            total=projectMapper.findCountWithUserWorkingTime(targetUser.getCompanyId(),startDate,endDate,start,size,userId,branchDepartment,deptIds);
+//        }else{
+//            resultList=projectMapper.getUserWorkingTimeStatic(targetUser.getCompanyId(),startDate,endDate,null,null,userId,branchDepartment,deptIds);
+//            total=projectMapper.findCountWithUserWorkingTime(targetUser.getCompanyId(),startDate,endDate,null,null,userId,branchDepartment,deptIds);
+//        }
+//        for (Map<String, Object> map : resultList) {
+//            BigDecimal phBigDecimal =new BigDecimal(String.valueOf(map.get("planHours")==null?0:map.get("planHours")));
+//            BigDecimal wtBigDecimal =new BigDecimal(String.valueOf(map.get("workingTime")==null?0:map.get("workingTime")));
+//            if(phBigDecimal.compareTo(BigDecimal.ZERO)==0||wtBigDecimal.compareTo(BigDecimal.ZERO)==0){
+//                map.put("proportion",dft.format(0));
+//            }else{
+//                BigDecimal divide = wtBigDecimal.divide(phBigDecimal, 2, BigDecimal.ROUND_HALF_UP);
+//                map.put("proportion",dft.format(divide));
+//            }
+//        }
+//        Map<String,Object> map=new HashMap<>();
+//        map.put("result",resultList);
+//        map.put("total",total);
+//        httpRespMsg.data=map;
+        return httpRespMsg;
+    }
+
 }