Quellcode durchsuchen

Merge branch 'master' of http://47.100.37.243:10080/wutt/manHourHousekeeper

山水共长天一色 vor 3 Jahren
Ursprung
Commit
11143e8e68

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

@@ -59,8 +59,9 @@ public class ProjectController {
     @RequestMapping("/getProjectPage")
     public HttpRespMsg getProjectPage(@RequestParam Integer pageIndex, @RequestParam Integer pageSize, String keyword,
                                       @RequestParam(required = false, defaultValue = "1") Integer searchField,
+                                      Integer projectId, //可以直接传projectId来进行匹配
                                       Integer status, Integer category) {
-        return projectService.getProjectPage(pageIndex, pageSize, keyword,searchField, status, category, request);
+        return projectService.getProjectPage(pageIndex, pageSize, keyword,searchField, status, category, projectId, request);
     }
 
     @RequestMapping("/saveBatchAccoDegrees")
@@ -268,14 +269,14 @@ public class ProjectController {
 
     //分页查询项目任务报表
     @RequestMapping("/getProjectTask")
-    public HttpRespMsg getProjectTask(@RequestParam Integer pageIndex, @RequestParam Integer pageSize) {
-        return projectService.getProjectTask(pageIndex, pageSize, request);
+    public HttpRespMsg getProjectTask(@RequestParam Integer pageIndex, @RequestParam Integer pageSize, Integer projectId) {
+        return projectService.getProjectTask(pageIndex, pageSize, projectId, request);
     }
 
     //分页查询项目各个阶段的汇总工时成本
     @RequestMapping("/getProjectStagesCost")
-    public HttpRespMsg getProjectStagesCost(@RequestParam Integer pageIndex, @RequestParam Integer pageSize) {
-        return projectService.getProjectStagesCost(pageIndex, pageSize, request);
+    public HttpRespMsg getProjectStagesCost(@RequestParam Integer pageIndex, @RequestParam Integer pageSize, Integer projectId) {
+        return projectService.getProjectStagesCost(pageIndex, pageSize, projectId, request);
     }
     @RequestMapping("/exportProjectStagesCost")
     public HttpRespMsg exportProjectStagesCost() {
@@ -289,8 +290,8 @@ public class ProjectController {
 
     //分页查询项目成本报表
     @RequestMapping("/getAllProjectCost")
-    public HttpRespMsg getAllProjectCost(@RequestParam Integer pageIndex, @RequestParam Integer pageSize) {
-        return projectService.getAllProjectCost(pageIndex, pageSize, request);
+    public HttpRespMsg getAllProjectCost(@RequestParam Integer pageIndex, @RequestParam Integer pageSize, Integer projectId) {
+        return projectService.getAllProjectCost(pageIndex, pageSize, projectId, request);
     }
     //导出项目成本报表
     @RequestMapping("/exportAllProjectCost")
@@ -301,14 +302,14 @@ public class ProjectController {
 
     //分页查询项目收支平衡表
     @RequestMapping("/getProjectInAndOut")
-    public HttpRespMsg getProjectInAndOut(@RequestParam Integer pageIndex, @RequestParam Integer pageSize) {
-        return projectService.getProjectInAndOut(pageIndex, pageSize, request);
+    public HttpRespMsg getProjectInAndOut(@RequestParam Integer pageIndex, @RequestParam Integer pageSize, Integer projectId) {
+        return projectService.getProjectInAndOut(pageIndex, pageSize, projectId, request);
     }
 
     //分页查询项目收支平衡表
     @RequestMapping("/getProjectCostAlarm")
-    public HttpRespMsg getProjectCostAlarm(@RequestParam Integer pageIndex, @RequestParam Integer pageSize) {
-        return projectService.getProjectCostAlarm(pageIndex, pageSize, request);
+    public HttpRespMsg getProjectCostAlarm(@RequestParam Integer pageIndex, @RequestParam Integer pageSize, Integer projectId) {
+        return projectService.getProjectCostAlarm(pageIndex, pageSize, projectId, request);
     }
     //导出项目收支平衡表
     @RequestMapping("/exportProjectInAndOut")
@@ -428,7 +429,7 @@ public class ProjectController {
     }
 
     @RequestMapping("/getBaseCostAndRealCost")
-    public HttpRespMsg getBaseCostAndRealCost(Integer pageIndex, Integer pageSize) {return projectService.getBaseCostAndRealCost(pageIndex, pageSize, request);}
+    public HttpRespMsg getBaseCostAndRealCost(Integer pageIndex, Integer pageSize, Integer projectId) {return projectService.getBaseCostAndRealCost(pageIndex, pageSize, projectId, request);}
 
     //导出项目收支平衡表
     @RequestMapping("/exportBaseCostAndRealCost")

+ 5 - 5
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ProjectMapper.java

@@ -46,9 +46,9 @@ public interface ProjectMapper extends BaseMapper<Project> {
     List<Map<String, Object>> getAllMembCost(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("projectId") Integer projectId,
                                              @Param("companyId") Integer companyId);
 
-    List<Project> getAllProjectCost(Integer companyId, Integer pageStart, Integer pageSize);
+    List<Project> getAllProjectCost(Integer companyId, Integer pageStart, Integer pageSize, Integer projectId);
 
-    List<Project> getProjectInAndOut(Integer companyId, Integer pageStart, Integer pageSize);
+    List<Project> getProjectInAndOut(Integer companyId, Integer pageStart, Integer pageSize, Integer projectId);
 
     List<CustomerProject> getCustomerProjectInAndOut(Integer companyId, Integer pageStart, Integer pageSize);
 
@@ -64,7 +64,7 @@ public interface ProjectMapper extends BaseMapper<Project> {
     List<Map> getTaskPlanByProject(@Param("projectIds") List<Integer> projectIds, @Param("startDate") String startDate,
                                 @Param("endDate") String endDate, @Param("companyId") Integer companyId);
 
-    List<ProjectWithStage> selectWithStage(Integer companyId, Integer startIndex, Integer endIndex);
+    List<ProjectWithStage> selectWithStage(Integer companyId, Integer startIndex, Integer endIndex, Integer projectId);
 
     List<Map<String, Object>> getTimeCostReport(@Param("companyId") Integer companyId, @Param("startDate") String startDate, @Param("endDate") String endDate,
                                           @Param("projectId") Integer projectId);
@@ -81,9 +81,9 @@ public interface ProjectMapper extends BaseMapper<Project> {
     List<Map<String, Object>> getOvertimeDetail(String userId, Integer companyId, String startDate, String endDate, Integer projectId);
 
     //获取项目的成本预警和实际工时表
-    List<HashMap> getProjectCostAlarm(Integer companyId, Integer pageStart, Integer pageSize);
+    List<HashMap> getProjectCostAlarm(Integer companyId, Integer pageStart, Integer pageSize, Integer projectId);
 
-    List getBaseCostAndRealCost(Integer companyId, Integer pageStart, Integer pageSize);
+    List getBaseCostAndRealCost(Integer companyId, Integer pageStart, Integer pageSize, Integer projectId);
 
     List<Map<String, Object>> getProjectCostGroupByProject(Integer companyId, String startDate, String endDate, Integer projectId);
 }

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/TaskMapper.java

@@ -33,9 +33,9 @@ public interface TaskMapper extends BaseMapper<Task> {
 
     List<TimeTask> getTaskWithWorktime(Integer projectId, Integer taskType);
 
-    List getProjectTask(Integer companyId, Integer pageStart, Integer pageSize);
+    List getProjectTask(Integer companyId, Integer pageStart, Integer pageSize, Integer projectId);
 
-    Integer getProjectTaskCount(Integer companyId);
+    Integer getProjectTaskCount(Integer companyId, Integer projectId);
 
     List getTaskWithProjectName(@Param(Constants.WRAPPER) Wrapper wrapper, Integer pageStart, Integer pageSize);
 

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

@@ -20,7 +20,7 @@ public interface ProjectService extends IService<Project> {
     HttpRespMsg getProjectList(Integer forReport, HttpServletRequest request);
 
     HttpRespMsg getProjectPage(Integer pageIndex, Integer pageSize, String keyword, Integer searchField,
-                               Integer status, Integer category, HttpServletRequest request);
+                               Integer status, Integer category, Integer projectId, HttpServletRequest request);
 
     HttpRespMsg editProject(Integer id, String name, String code, String[] userIds, String inchargerId,
                             Integer isPublic,
@@ -70,15 +70,15 @@ public interface ProjectService extends IService<Project> {
 
     HttpRespMsg exportProject(HttpServletRequest request);
 
-    HttpRespMsg getProjectTask(Integer pageIndex, Integer pageSize, HttpServletRequest request);
+    HttpRespMsg getProjectTask(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request);
 
     HttpRespMsg exportProjectTask(HttpServletRequest request);
 
-    HttpRespMsg getAllProjectCost(Integer pageIndex, Integer pageSize, HttpServletRequest request);
+    HttpRespMsg getAllProjectCost(Integer pageIndex, Integer pageSize, Integer projectId,HttpServletRequest request);
 
     HttpRespMsg exportAllProjectCost(HttpServletRequest request);
 
-    HttpRespMsg getProjectInAndOut(Integer pageIndex, Integer pageSize, HttpServletRequest request);
+    HttpRespMsg getProjectInAndOut(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request);
 
     HttpRespMsg exportProjectInAndOut(HttpServletRequest request);
 
@@ -90,7 +90,7 @@ public interface ProjectService extends IService<Project> {
 
     HttpRespMsg getGanttData(Integer type, String startDate, String endDate, String userId, Integer projectId,HttpServletRequest request);
 
-    HttpRespMsg getProjectStagesCost(Integer pageIndex, Integer pageSize, HttpServletRequest request);
+    HttpRespMsg getProjectStagesCost(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request);
 
     HttpRespMsg exportProjectStagesCost( HttpServletRequest request);
 
@@ -114,11 +114,11 @@ public interface ProjectService extends IService<Project> {
 
     HttpRespMsg saveBatchAccoDegrees(String ids, String associateDegrees, String associateDegreeNames, HttpServletRequest request);
 
-    HttpRespMsg getProjectCostAlarm(Integer pageIndex, Integer pageSize, HttpServletRequest request);
+    HttpRespMsg getProjectCostAlarm(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request);
 
     HttpRespMsg addBatchAccoDegrees(String ids, String associateDegrees, String associateDegreeNames, HttpServletRequest request);
 
-    HttpRespMsg getBaseCostAndRealCost(Integer pageIndex, Integer pageSize, HttpServletRequest request);
+    HttpRespMsg getBaseCostAndRealCost(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request);
 
     HttpRespMsg exportBaseCostAndRealCost(HttpServletRequest request);
 

+ 30 - 20
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -160,7 +160,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     //分页获取项目列表
     @Override
     public HttpRespMsg getProjectPage(Integer pageIndex, Integer pageSize, String keyword, Integer searchField,
-                                      Integer status, Integer category, HttpServletRequest request) {
+                                      Integer status, Integer category, Integer projectId, HttpServletRequest request) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         try {
             //通过公司id获取该公司所有的项目列表
@@ -198,6 +198,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             if (category != null) {
                 queryWrapper.eq("category", category);
             }
+            if (projectId != null) {
+                queryWrapper.eq("id", projectId);
+            }
             queryWrapper.orderByDesc("is_public").orderByAsc("id");
             IPage<Project> projectIPage = projectMapper.selectPage(new Page<>(pageIndex, pageSize),
                     queryWrapper);
@@ -1196,12 +1199,12 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     }
 
     @Override
-    public HttpRespMsg getProjectTask(Integer pageIndex, Integer pageSize, HttpServletRequest request) {
+    public HttpRespMsg getProjectTask(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request) {
         User user = userMapper.selectById(request.getHeader("Token"));
         Integer companyId = user.getCompanyId();
-        int total = taskMapper.getProjectTaskCount(companyId);
+        int total = taskMapper.getProjectTaskCount(companyId, projectId);
         int pageStart = (pageIndex -1) * pageSize;
-        List projectTask = taskMapper.getProjectTask(companyId, pageStart, pageSize);
+        List projectTask = taskMapper.getProjectTask(companyId, pageStart, pageSize, projectId);
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         Map<String, Object> map = new HashMap<>();
         map.put("records", projectTask);
@@ -1219,7 +1222,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
 
         QueryWrapper<Project> queryWrapper = new QueryWrapper<Project>().eq("company_id", companyId);
         DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
-        List<Map> projectList = taskMapper.getProjectTask(companyId, null, null);
+        List<Map> projectList = taskMapper.getProjectTask(companyId, null, null, null);
         List<ProjectVO> list = new ArrayList<>();
         String[] statusNames = {"进行中","已完成","已撤销"};
         String[] typeList = {"任务","里程碑","风险"};
@@ -1245,7 +1248,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     }
 
     @Override
-    public HttpRespMsg getAllProjectCost(Integer pageIndex, Integer pageSize, HttpServletRequest request) {
+    public HttpRespMsg getAllProjectCost(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request) {
         User user = userMapper.selectById(request.getHeader("Token"));
         Integer companyId = user.getCompanyId();
         //撤销的项目不算
@@ -1254,7 +1257,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         int total = projectMapper.selectCount(queryWrapper);
         int pageStart = (pageIndex -1) * pageSize;
         System.out.println("companyId="+companyId+", pageStart="+pageStart+", pageSize="+pageSize);
-        List projectTask = projectMapper.getAllProjectCost(companyId, pageStart, pageSize);
+        List projectTask = projectMapper.getAllProjectCost(companyId, pageStart, pageSize, projectId);
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         Map<String, Object> map = new HashMap<>();
         map.put("records", projectTask);
@@ -1271,7 +1274,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         Integer companyId = user.getCompanyId();
 
         QueryWrapper<Project> queryWrapper = new QueryWrapper<Project>().eq("company_id", companyId);
-        List<Project> projectList = projectMapper.getAllProjectCost(companyId, null, null);
+        List<Project> projectList = projectMapper.getAllProjectCost(companyId, null, null, null);
         List<List<String>> exportList = new ArrayList<>();
         String[] titles = {"项目编号", "项目名称", "人工成本", "一般费用", "差旅费用","外包费用", "总费用"};
         exportList.add(Lists.list(titles));
@@ -1294,7 +1297,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     }
 
     @Override
-    public HttpRespMsg getProjectInAndOut(Integer pageIndex, Integer pageSize, HttpServletRequest request) {
+    public HttpRespMsg getProjectInAndOut(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request) {
         User user = userMapper.selectById(request.getHeader("Token"));
         Integer companyId = user.getCompanyId();
         //撤销的项目不算
@@ -1302,7 +1305,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         queryWrapper.and(wrapper->wrapper.isNull("status").or().ne("status", 3));
         int total = projectMapper.selectCount(queryWrapper);
         int pageStart = (pageIndex -1) * pageSize;
-        List projectTask = projectMapper.getProjectInAndOut(companyId, pageStart, pageSize);
+        List projectTask = projectMapper.getProjectInAndOut(companyId, pageStart, pageSize, projectId);
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         Map<String, Object> map = new HashMap<>();
         map.put("records", projectTask);
@@ -1339,7 +1342,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         Integer companyId = user.getCompanyId();
 
         QueryWrapper<Project> queryWrapper = new QueryWrapper<Project>().eq("company_id", companyId);
-        List<Project> projectList = projectMapper.getProjectInAndOut(companyId, null, null);
+        List<Project> projectList = projectMapper.getProjectInAndOut(companyId, null, null, null);
         List<List<String>> exportList = new ArrayList<>();
         String[] titles = {"项目编号", "项目名称", "合同金额", "人工成本", "一般费用", "差旅费用","外包费用", "总费用", "利润", "利润率"};
         exportList.add(Lists.list(titles));
@@ -1762,15 +1765,19 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     }
 
     @Override
-    public HttpRespMsg getProjectStagesCost(Integer pageIndex, Integer pageSize, HttpServletRequest request) {
+    public HttpRespMsg getProjectStagesCost(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request) {
         String token = request.getHeader("TOKEN");
         User user = userMapper.selectById(token);
         Integer companyId = user.getCompanyId();
         int startIndex = (pageIndex-1)*pageSize;
         int endIndex = pageSize*pageIndex;
         HttpRespMsg msg = new HttpRespMsg();
-        Integer total = projectMapper.selectCount(new QueryWrapper<Project>().eq("company_id", companyId));
-        List<ProjectWithStage> record = projectMapper.selectWithStage(companyId, startIndex, endIndex);
+        QueryWrapper<Project> queryWrapper = new QueryWrapper<Project>().eq("company_id", companyId);
+        if (projectId != null) {
+            queryWrapper.eq("id", projectId);
+        }
+        Integer total = projectMapper.selectCount(queryWrapper);
+        List<ProjectWithStage> record = projectMapper.selectWithStage(companyId, startIndex, endIndex, projectId);
         List<SysRichFunction> functionList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "查看阶段成本");
         if (functionList.size() == 0) {
             //去掉成本
@@ -1801,7 +1808,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         User user = userMapper.selectById(token);
         Integer companyId = user.getCompanyId();
         HttpRespMsg msg = new HttpRespMsg();
-        List<ProjectWithStage> record = projectMapper.selectWithStage(companyId, null, null);
+        List<ProjectWithStage> record = projectMapper.selectWithStage(companyId, null, null, null);
         //获取全部的列
         List<Integer> collect = record.stream().map(ProjectWithStage::getId).collect(Collectors.toList());
         List<Stages> stagesList = stagesMapper.selectList(new QueryWrapper<Stages>().select("distinct stages_name").in("project_id", collect));
@@ -2494,7 +2501,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     }
 
     @Override
-    public HttpRespMsg getProjectCostAlarm(Integer pageIndex, Integer pageSize, HttpServletRequest request) {
+    public HttpRespMsg getProjectCostAlarm(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request) {
         User user = userMapper.selectById(request.getHeader("Token"));
         Integer companyId = user.getCompanyId();
         //撤销的项目不算
@@ -2502,7 +2509,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         queryWrapper.and(wrapper->wrapper.isNull("status").or().ne("status", 3));
         int total = projectMapper.selectCount(queryWrapper);
         int pageStart = (pageIndex -1) * pageSize;
-        List projectData = projectMapper.getProjectCostAlarm(companyId, pageStart, pageSize);
+        List projectData = projectMapper.getProjectCostAlarm(companyId, pageStart, pageSize, projectId);
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         Map<String, Object> map = new HashMap<>();
         map.put("records", projectData);
@@ -2571,15 +2578,18 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     }
 
     @Override
-    public HttpRespMsg getBaseCostAndRealCost(Integer pageIndex, Integer pageSize, HttpServletRequest request) {
+    public HttpRespMsg getBaseCostAndRealCost(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request) {
         User user = userMapper.selectById(request.getHeader("Token"));
         Integer companyId = user.getCompanyId();
         //撤销的项目不算
         QueryWrapper<Project> queryWrapper = new QueryWrapper<Project>().eq("company_id", companyId);
         queryWrapper.and(wrapper->wrapper.isNull("status").or().ne("status", 3));
+        if (projectId != null) {
+            queryWrapper.eq("id", projectId);
+        }
         int total = projectMapper.selectCount(queryWrapper);
         int pageStart = (pageIndex -1) * pageSize;
-        List projectList = projectMapper.getBaseCostAndRealCost(companyId, pageStart, pageSize);
+        List projectList = projectMapper.getBaseCostAndRealCost(companyId, pageStart, pageSize, projectId);
         //查询项目的各个成本项实际的成本
         List<Integer> pids = new ArrayList<>();
         for (int i=0;i<projectList.size(); i++) {
@@ -2623,7 +2633,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         User user = userMapper.selectById(request.getHeader("Token"));
         Integer companyId = user.getCompanyId();
 
-        List<HashMap> projectList = projectMapper.getBaseCostAndRealCost(companyId, null, null);
+        List<HashMap> projectList = projectMapper.getBaseCostAndRealCost(companyId, null, null, null);
         List<List<String>> exportList = new ArrayList<>();
         String[] titles = {"项目编号", "项目名称", "当前总预算", "已发生总工时成本"};
         ArrayList<String> headList = Lists.list(titles);

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

@@ -1488,7 +1488,10 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     @Override
     public HttpRespMsg loginByUserId(String userId, HttpServletRequest request) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
-
+        if (StringUtils.isEmpty(userId) || userId.length() > 50) {
+            httpRespMsg.setError("账号不存在");
+            return httpRespMsg;
+        }
         User user = userMapper.selectById(userId);
         if (user == null) {
             httpRespMsg.setError("账号不存在");

+ 5 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/WxCorpInfoServiceImpl.java

@@ -369,11 +369,11 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
                         baseAfternoonStart = DateTimeUtil.getTimeFromSeconds(workRules.getJSONObject(1).getIntValue("work_sec"));
                         baseAfternoonEnd = DateTimeUtil.getTimeFromSeconds(workRules.getJSONObject(1).getIntValue("off_work_sec"));
                     }
-                    int restTime = 0;
+                    double restTime = 0.0;//小时为单位
                     if (workRules.size() <= 1) {
-                        restTime = 3600;//一个小时午休
+                        restTime = 1.0;//一个小时午休
                     } else {
-                        restTime = workRules.getJSONObject(1).getIntValue("work_sec") - workRules.getJSONObject(0).getIntValue("off_work_sec");
+                        restTime = 1.0*(workRules.getJSONObject(1).getIntValue("work_sec") - workRules.getJSONObject(0).getIntValue("off_work_sec"))/3600;
                     }
 
                     LocalDate localDate = LocalDateTime.ofInstant(Instant.ofEpochSecond(time), ZoneId.systemDefault()).toLocalDate();
@@ -490,12 +490,12 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
                                 }
                                 String outEnd = isOldFormat?s[3]:s[4];
                                 String outStart = s[1];
-
                                 //获取外出的最早的开始时间和最晚的结束时间最为当天考勤的最早和最晚时间
                                 if (ct.getStartTime().equals("00:00") || ct.getStartTime().compareTo(outStart) > 0) {
                                     ct.setStartTime(outStart);
                                     needRecaculate = true;
                                 }
+
                                 if (ct.getEndTime().compareTo(outEnd) < 0) {
                                     ct.setEndTime(outEnd);
                                     needRecaculate = true;
@@ -506,6 +506,7 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
                     double timeDelta = 0;
                     //时间有变化,需要重新计算
                     if (needRecaculate) {
+                        System.out.println(""+ct.getStartTime()+"--"+ct.getEndTime());
                         timeDelta = DateTimeUtil.getHoursFromSeconds(DateTimeUtil.getSecondsFromTime(ct.getEndTime()) - DateTimeUtil.getSecondsFromTime(ct.getStartTime()));
                         //超过下午上班的开始时间,需要减去午休的时间
                         if (ct.getEndTime().compareTo(baseAfternoonStart) >= 0) {

+ 0 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/util/DateTimeUtil.java

@@ -22,7 +22,6 @@ public class DateTimeUtil {
         localDateTime = localDateTime.plusSeconds(seconds);
         DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("HH:mm");
         String format = dateTimeFormatter.format(localDateTime);
-        System.out.println(format);
         return format;
     }
 

+ 17 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProjectMapper.xml

@@ -67,7 +67,11 @@
     </resultMap>
     <select id="selectWithStage" resultMap="BaseResultMap2" >
         select id, project_code, project_name from project
-        where company_id = #{companyId} order by is_public desc, id asc
+        where company_id = #{companyId}
+        <if test="projectId != null">
+            and id = #{projectId}
+        </if>
+        order by is_public desc, id asc
         <if test="startIndex != null">
             limit ${startIndex}, ${endIndex}
         </if>
@@ -293,6 +297,9 @@
         (SELECT IFNULL(SUM(amount),0) FROM expense_item , expense_sheet WHERE project_id = project.id AND  expense_sheet.id = expense_item.`expense_id` AND expense_sheet.type = 2 and expense_sheet.status = 0) AS fee_outsourcing
         FROM project WHERE project.`company_id` = #{companyId}
         and (project.status &lt;&gt; 3 or project.status is null)
+        <if test="projectId != null">
+            and project.id = #{projectId}
+        </if>
         order by project.is_public desc, project.id asc
         <if test="pageStart != null and pageSize != null">
             LIMIT #{pageStart},#{pageSize}
@@ -307,6 +314,9 @@
         (SELECT IFNULL(SUM(amount),0) FROM expense_item , expense_sheet WHERE project_id = project.id AND  expense_sheet.id = expense_item.`expense_id` AND expense_sheet.type = 2 and expense_sheet.status = 0) AS fee_outsourcing
         FROM project WHERE project.`company_id` = #{companyId}
         and (project.status &lt;&gt; 3 or project.status is null)
+        <if test="projectId != null">
+            and project.id = #{projectId}
+        </if>
         order by is_public desc, id asc
         <if test="pageStart != null and pageSize != null">
             LIMIT #{pageStart},#{pageSize}
@@ -478,6 +488,9 @@
         (SELECT IFNULL(SUM(cost),0) FROM report WHERE state = 1 AND project_id = project.id) AS feeMan
         FROM project WHERE company_id=#{companyId}
         and (project.status &lt;&gt; 3 or project.status is null)
+        <if test="projectId != null">
+            and project.id = #{projectId}
+        </if>
         <if test="pageStart != null and pageSize != null">
             LIMIT #{pageStart},#{pageSize}
         </if>
@@ -489,6 +502,9 @@
         ON project_basecost_setting.id = project_currentcost.`base_id` WHERE alarm_type=1 AND company_id=#{companyId} AND project_currentcost.`project_id`=project.id) AS baseCurcost,
         (SELECT IFNULL(SUM(cost), 0) FROM report WHERE report.`company_id` = #{companyId} AND project_id = project.id AND state=1 AND basecost_id >0) AS feeMan
         FROM project WHERE (STATUS &lt;&gt; 3  OR project.status IS NULL) AND company_id=#{companyId}
+        <if test="projectId != null">
+            and project.id = #{projectId}
+        </if>
         <if test="pageStart != null and pageSize != null">
             LIMIT #{pageStart},#{pageSize}
         </if>

+ 7 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/TaskMapper.xml

@@ -154,7 +154,10 @@
         task.`task_status`, task.`task_type`,
         project.`project_code`, project.`project_name` FROM task LEFT JOIN project ON project.id = task.`project_id`
         WHERE project.`company_id` = #{companyId}
-        ORDER BY project.is_public desc, project.id ASC
+        <if test="projectId != null">
+            and task.project_id = #{projectId}
+        </if>
+        ORDER BY project.is_public desc, project.id ASC, task.stages_id asc, task.seq asc
         <if test="pageStart != null and pageSize != null">
             limit #{pageStart}, #{pageSize}
         </if>
@@ -162,6 +165,9 @@
     <select id="getProjectTaskCount" resultType="java.lang.Integer">
         SELECT count(1) as total FROM task LEFT JOIN project ON project.id = task.`project_id`
         WHERE project.`company_id` = #{companyId}
+        <if test="projectId != null">
+            and task.project_id = #{projectId}
+        </if>
     </select>
 
     <select id="getTaskWithProjectName" resultMap="RichResultMap">