Lijy 2 viikkoa sitten
vanhempi
commit
770a4148cd
13 muutettua tiedostoa jossa 200 lisäystä ja 32 poistoa
  1. 16 4
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportController.java
  2. 33 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserCustomController.java
  3. 8 5
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ReportMapper.java
  4. 2 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/SysRoleFunctionMapper.java
  5. 1 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ReportService.java
  6. 1 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/SysRoleFunctionService.java
  7. 16 3
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DepartmentServiceImpl.java
  8. 90 18
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java
  9. 9 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/SysRoleFunctionServiceImpl.java
  10. 3 0
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/application.yml
  11. 15 0
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportMapper.xml
  12. 5 0
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/SysRoleFunctionMapper.xml
  13. 1 1
      fhKeeper/formulahousekeeper/ops-platform/src/main/resources/application.yml

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

@@ -112,6 +112,8 @@ public class ReportController {
     private UserCustomMapper userCustomMapper;
     @Resource
     private UserGroupMapper userGroupMapper;
+    @Resource
+    private SysRoleFunctionService sysRoleFunctionService;
 
     @Resource
     private FinancialAuditMapper financialAuditMapper;
@@ -239,7 +241,9 @@ public class ReportController {
      * date 日期 格式yyyy-mm-dd
      */
     @RequestMapping("/exportReport")
-    public HttpRespMsg exportReport(String startDate, String endDate,@RequestParam(required = false) Integer exportType, Integer projectId,@RequestParam(defaultValue = "0") Integer stateKey,String departmentIds) {
+    public HttpRespMsg exportReport(String startDate, String endDate,@RequestParam(required = false) Integer exportType,
+                                    Integer projectId,@RequestParam(defaultValue = "0") Integer stateKey,String departmentIds,
+                                    String plate) {
         //startDate和endDate间隔不得超过1年
         DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
         LocalDate start = LocalDate.parse(startDate, dateTimeFormatter);
@@ -250,9 +254,9 @@ public class ReportController {
             return httpRespMsg;
         }
         if (exportType==null){
-            return reportService.exportReport(startDate, endDate,0, projectId,stateKey,departmentIds, request);
+            return reportService.exportReport(startDate, endDate,0, projectId,stateKey,departmentIds,plate, request);
         }else {
-            return reportService.exportReport(startDate, endDate,exportType, projectId,stateKey,departmentIds, request);
+            return reportService.exportReport(startDate, endDate,exportType, projectId,stateKey,departmentIds,plate, request);
         }
 
     }
@@ -3217,8 +3221,16 @@ public class ReportController {
         LocalDate firstDay = LocalDate.parse(date + "-01");
         LocalDate lastDay = firstDay.with(TemporalAdjusters.lastDayOfMonth());
         User user = userMapper.selectById(request.getHeader("TOKEN"));
+        Integer hideTimeCount= sysRoleFunctionService.selectHideTimeCount(user.getRoleId());
         HttpRespMsg msg = new HttpRespMsg();
-        msg.setData(reportService.getReportTimeLessThanCardTimeList(firstDay, lastDay, deptId, userId, user.getCompanyId(), false));
+        List<Map<String, Object>> mapList = reportService.getReportTimeLessThanCardTimeList(firstDay, lastDay, deptId, userId, user.getCompanyId(), false);
+        if (!mapList.isEmpty()&&hideTimeCount>0){
+            mapList.forEach(m->{
+                m.put("reportTime","*");
+                m.put("workHours","*");
+            });
+        }
+        msg.setData(mapList);
         return msg;
     }
 

+ 33 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserCustomController.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.management.platform.entity.SubUserCustom;
 import com.management.platform.entity.User;
 import com.management.platform.entity.UserCustom;
+import com.management.platform.mapper.SubUserCustomMapper;
 import com.management.platform.mapper.UserCustomMapper;
 import com.management.platform.mapper.UserMapper;
 import com.management.platform.service.SubUserCustomService;
@@ -21,6 +22,7 @@ import javax.servlet.http.HttpServletRequest;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Optional;
 import java.util.stream.Collectors;
 
 /**
@@ -42,6 +44,9 @@ public class UserCustomController {
     private SubUserCustomService subUserCustomService;
     @Resource
     private UserMapper userMapper;
+    @Resource
+    private SubUserCustomMapper subUserCustomMapper;
+
     @RequestMapping("/addOrMod")
     public HttpRespMsg addOrMod(String json, HttpServletRequest request){
         List<UserCustom> userCustomList = JSONArray.parseArray(json, UserCustom.class);
@@ -127,5 +132,33 @@ public class UserCustomController {
         httpRespMsg.data=map;
         return httpRespMsg;
     }
+
+    @RequestMapping("/getUserCustomFirstPullDown")
+    public HttpRespMsg getUserCustomFirstPullDown(HttpServletRequest request){
+        HttpRespMsg httpRespMsg=new HttpRespMsg();
+        User user = userMapper.selectById(request.getHeader("token"));
+        List<UserCustom> customList = userCustomService.list(new QueryWrapper<UserCustom>()
+                .eq("company_id", user.getCompanyId()).orderByAsc("id"));
+        Optional<UserCustom> first = customList.stream().filter(c -> c.getType() == 0).findFirst();
+        if (first.isPresent()) {
+            UserCustom custom = first.get();
+            HashMap<String, Object> map = new HashMap<>();
+            map.put("companyId",custom.getCompanyId());
+            map.put("name",custom.getName());
+            map.put("type",custom.getType());
+            for (int i = 0; i < customList.size(); i++) {
+                if(customList.get(i).getId().equals(custom.getId())){
+                    map.put("plate","plate"+(i+1));
+                    break;
+                }
+            }
+            List<SubUserCustom> subUserCustomList = subUserCustomMapper.selectList(new QueryWrapper<SubUserCustom>().eq("user_custom_id", custom.getId()));
+            map.put("subUserCustomList",subUserCustomList);
+            httpRespMsg.data=map;
+        }else {
+            httpRespMsg.data=null;
+        }
+        return httpRespMsg;
+    }
 }
 

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

@@ -32,7 +32,7 @@ public interface ReportMapper extends BaseMapper<Report> {
                                                      @Param("endDate") String endDate,
                                                      @Param("projectId") Integer projectId,
                                                      @Param("stateKey") Integer stateKey,
-                                                     @Param("branchDepartment")List<Integer> branchDepartment
+                                                     @Param("branchDepartment")List<Integer> branchDepartment,@Param("field")String field,@Param("fieldValue")String fieldValue
                                                  );
     List<HashMap<String, Object>> getAllReportByDateWithReportLog(@Param("startDate") String startDate,
                                                      @Param("companyId") Integer companyId,
@@ -40,7 +40,7 @@ public interface ReportMapper extends BaseMapper<Report> {
                                                      @Param("endDate") String endDate,
                                                      @Param("projectId") Integer projectId,
                                                      @Param("stateKey") Integer stateKey,
-                                                     @Param("branchDepartment")List<Integer> branchDepartment
+                                                     @Param("branchDepartment")List<Integer> branchDepartment,@Param("field")String field,@Param("fieldValue")String fieldValue
     );
 
     List<HashMap<String, Object>> getAllReportByDateNew(@Param("startDate") String startDate,
@@ -68,7 +68,7 @@ public interface ReportMapper extends BaseMapper<Report> {
                                                      @Param("projectId") Integer projectId,
                                                      @Param("stateKey") Integer stateKey,
                                                      @Param("branchDepartment")List<Integer> branchDepartment,
-                                                             @Param("ccProjectIds")List<Integer> ccProjectIds);
+                                                             @Param("ccProjectIds")List<Integer> ccProjectIds,@Param("field")String field,@Param("fieldValue")String fieldValue);
     List<HashMap<String, Object>> getProjectMembReportByDateWithReportLog(@Param("startDate") String startDate,
                                                              @Param("companyId") Integer companyId,
                                                              @Param("leaderId") String leaderId,
@@ -76,12 +76,15 @@ public interface ReportMapper extends BaseMapper<Report> {
                                                              @Param("projectId") Integer projectId,
                                                              @Param("stateKey") Integer stateKey,
                                                              @Param("branchDepartment")List<Integer> branchDepartment,
-                                                                          @Param("ccProjectIds")List<Integer> ccProjectIds);
+                                                                          @Param("ccProjectIds")List<Integer> ccProjectIds
+            ,@Param("field")String field,@Param("fieldValue")String fieldValue
+                                                                          );
     //获取部门下的人员的日报
     List<HashMap<String, Object>> getDeptMembReportByDate(@Param("startDate") String startDate,
                                                              @Param("companyId") Integer companyId,
                                                              @Param("deptIds") List<Integer> deptIds,
-                                                             @Param("endDate") String endDate, @Param("projectId") Integer projectId,@Param("stateKey")Integer stateKey,@Param("branchDepartment")List<Integer> branchDepartment, @Param("viewUserId")String viewUserId);
+                                                             @Param("endDate") String endDate, @Param("projectId") Integer projectId,@Param("stateKey")Integer stateKey,@Param("branchDepartment")List<Integer> branchDepartment,
+                                                          @Param("viewUserId")String viewUserId,@Param("field")String field,@Param("fieldValue")String fieldValue);
 
 
     //获取项目经理所管理的人员的报告

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

@@ -15,4 +15,6 @@ import java.util.List;
  */
 public interface SysRoleFunctionMapper extends BaseMapper<SysRoleFunction> {
     public List<SysRoleFunction> getRoleFunctionNames(Integer roleId);
+
+    Integer selectHideTimeCount(Integer roleId);
 }

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

@@ -26,7 +26,7 @@ import java.util.Map;
 public interface ReportService extends IService<Report> {
     HttpRespMsg getReportList(String date, Integer deptId, String userId, Integer pageIndex, Integer pageSize, HttpServletRequest request);
 
-    HttpRespMsg exportReport(@RequestParam String startDate, @RequestParam String endDate,Integer exportType, Integer projectId,Integer stateKey,String departmentIds, HttpServletRequest request);
+    HttpRespMsg exportReport(@RequestParam String startDate, @RequestParam String endDate,Integer exportType, Integer projectId,Integer stateKey,String departmentIds,String plate, HttpServletRequest request);
 
     HttpRespMsg getReport(String date, HttpServletRequest request);
 

+ 1 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/SysRoleFunctionService.java

@@ -13,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface SysRoleFunctionService extends IService<SysRoleFunction> {
 
+    Integer selectHideTimeCount(Integer roleId);
 }

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

@@ -10,6 +10,7 @@ import com.management.platform.entity.vo.SysRichFunction;
 import com.management.platform.mapper.*;
 import com.management.platform.service.DepartmentService;
 import com.management.platform.service.ExcelExportService;
+import com.management.platform.service.SysRoleFunctionService;
 import com.management.platform.service.WxCorpInfoService;
 import com.management.platform.util.HttpRespMsg;
 import com.management.platform.util.ListUtil;
@@ -75,6 +76,8 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
     private WxCorpInfoService wxCorpInfoService;
     @Resource
     private CompanyDingdingMapper companyDingdingMapper;
+    @Resource
+    private SysRoleFunctionService sysRoleFunctionService;
 
     @Value("${corpId}")
     private String corpId;
@@ -1424,7 +1427,9 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
     public HttpRespMsg exportDeptStatistic(String startDate, String endDate, HttpServletRequest request) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         try {
-            Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
+            User user = userMapper.selectById(request.getHeader("token"));
+            Integer companyId = user.getCompanyId();
+            Integer hideTimeCount= sysRoleFunctionService.selectHideTimeCount(user.getRoleId());
             WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", companyId));
             CompanyDingding dingding = companyDingdingMapper.selectOne(new QueryWrapper<CompanyDingding>().eq("company_id", companyId));
             HttpRespMsg msg = getDepartmentStatistics(null, startDate, endDate, request);
@@ -1455,7 +1460,11 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
                     item.add(departmentMasterVO.getDepartmentName());
                 }
                 if(!costList.stream().anyMatch(ct->ct.getCostTime()==null)){
-                    item.add(String.valueOf(departmentMasterVO.getCostTime()));
+                    if (hideTimeCount>0){
+                        item.add("*");
+                    }else {
+                        item.add(String.valueOf(departmentMasterVO.getCostTime()));
+                    }
                     bigDecimal=bigDecimal.add(BigDecimal.valueOf(departmentMasterVO.getCostTime()));
                 }
                 if(!costList.stream().anyMatch(ct->ct.getCostMoney()==null)){
@@ -1467,7 +1476,11 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
             //rowData.add("合计");
             rowData.add(MessageUtils.message("entry.total"));
             if(!costList.stream().anyMatch(ct->ct.getCostTime()==null)){
-                rowData.add(String.valueOf(bigDecimal.doubleValue()));
+                if (hideTimeCount>0){
+                    rowData.add("*");
+                }else {
+                    rowData.add(String.valueOf(bigDecimal.doubleValue()));
+                }
             }
             if(!costList.stream().anyMatch(ct->ct.getCostMoney()==null)){
                 rowData.add(totalCostMoney.toString());

+ 90 - 18
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -246,6 +246,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
     private BustripProjectMapper bustripProjectMapper;
     @Resource
     private CompanyDingdingMapper companyDingdingMapper;
+    @Resource
+    private SysRoleFunctionService sysRoleFunctionService;
 
 
     //获取报告列表
@@ -262,6 +264,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             //首先根据日期获取当天所有提交过日志的人
             String userId = request.getHeader("Token");
             User user = userMapper.selectById(userId);
+            Integer hideTimeCount= sysRoleFunctionService.selectHideTimeCount(user.getRoleId());
             String viewUserId = user.getId();
             Integer companyId = user.getCompanyId();
             TimeType timeType = timeTypeMapper.selectById(companyId);
@@ -578,6 +581,22 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     }
                 }
             }
+            if (hideTimeCount>0){
+                for (Map<String, Object> map : nameList) {
+                    if (map.get("state").equals(1)){
+                        map.put("cardTime","*");
+                        map.put("reportTime","*");
+                        List<Map<String, Object>> reportList = (List<Map<String, Object>>)map.get("data");
+                        for (Map<String, Object> reportMap : reportList) {
+                            reportMap.put("endTime","");
+                            reportMap.put("customText","*");
+                            reportMap.put("startTime","");
+                            reportMap.put("time","*");
+                            reportMap.put("overtimeHours","*");
+                        }
+                    }
+                }
+            }
 
             if (pageStart == null) {
                 //老版本,不带分页的情况
@@ -5127,6 +5146,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
     public HttpRespMsg getUserDailyWorkTime(HttpServletRequest request, String startDate, String endDate,Integer hasReportDeptId) throws Exception {
         String token = request.getHeader("TOKEN");
         User user = userMapper.selectById(token);
+        Integer hideTimeCount= sysRoleFunctionService.selectHideTimeCount(user.getRoleId());
         Integer companyId = user.getCompanyId();
         Company company = companyMapper.selectById(companyId);
         //准备部门数据
@@ -5399,6 +5419,18 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             days.add(mapItem);
         }
         map.put("days", days);
+        if (hideTimeCount>0){
+            for (UserMonthWork work : userMonthWorks) {
+                List<Map<String, Object>> worktimeList = work.worktimeList;
+                if (!worktimeList.isEmpty()){
+                    worktimeList.forEach(w->{
+                        if (w.get("state")!=null&&w.get("state").equals(1)){
+                            w.put("workingTime","*");
+                        }
+                    });
+                }
+            }
+        }
         map.put("list", userMonthWorks);
         msg.data = map;
         return msg;
@@ -6370,12 +6402,21 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
 
     //导出报告
     @Override
-    public HttpRespMsg exportReport(@RequestParam String startDate, @RequestParam String endDate,Integer exportType, Integer projectId,Integer stateKey,String departmentIds, HttpServletRequest request) {
+    public HttpRespMsg exportReport(@RequestParam String startDate, @RequestParam String endDate,Integer exportType, Integer projectId,Integer stateKey,String departmentIds,String plate, HttpServletRequest request) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         DateFormat timeDf = new SimpleDateFormat("yyyy-MM-dd");
         try {
+            String field="";
+            String fieldValue="";
+            if (!StringUtils.isEmpty(plate)){
+                String[] strings = plate.split("-");
+                field=strings[0];
+                fieldValue=strings[1];
+
+            }
             String userId = request.getHeader("Token");
             User user = userMapper.selectById(userId);
+            Integer hideTimeCount= sysRoleFunctionService.selectHideTimeCount(user.getRoleId());
             //检查模式,是否是一个项目多个工作事项的情况
             TimeType timeType = timeTypeMapper.selectOne(new QueryWrapper<TimeType>().eq("company_id", user.getCompanyId()));
             Company company = companyMapper.selectById(user.getCompanyId());
@@ -6537,7 +6578,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 //检查是否是部门负责人
                 List<Integer> allVisibleDeptIdList = getAllVisibleDeptIdList(user, null);
                 if (allVisibleDeptIdList.size() > 0) {
-                    allReportByDate = reportMapper.getDeptMembReportByDate(startDate, null, allVisibleDeptIdList, endDate, projectId,stateKey,branchDepartment, user.getId());
+                    allReportByDate = reportMapper.getDeptMembReportByDate(startDate, null, allVisibleDeptIdList, endDate, projectId,stateKey,branchDepartment, user.getId(),field,fieldValue);
                 }
 
                 List<HashMap<String, Object>> reportsFromProjects = null;
@@ -6553,16 +6594,16 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 }
                 if (cnt > 0 || auditorPids != null) {
                     if (exportType == 0 && timeType.getShowFillauditTime() == 1) {
-                        reportsFromProjects = reportMapper.getProjectMembReportByDateWithReportLog(startDate, null, user.getId(), endDate, projectId,stateKey,branchDepartment, auditorPids);
+                        reportsFromProjects = reportMapper.getProjectMembReportByDateWithReportLog(startDate, null, user.getId(), endDate, projectId,stateKey,branchDepartment, auditorPids,field,fieldValue);
                     } else{
-                        reportsFromProjects = reportMapper.getProjectMembReportByDate(startDate, null, user.getId(), endDate, projectId,stateKey,branchDepartment, auditorPids);
+                        reportsFromProjects = reportMapper.getProjectMembReportByDate(startDate, null, user.getId(), endDate, projectId,stateKey,branchDepartment, auditorPids,field,fieldValue);
                     }
                 } else {
                     //普通员工只能看自己的
                     if (exportType == 0 && timeType.getShowFillauditTime() == 1) {
-                        reportsFromProjects = reportMapper.getAllReportByDateWithReportLog(startDate, null, user.getId(), endDate, projectId,stateKey,branchDepartment);
+                        reportsFromProjects = reportMapper.getAllReportByDateWithReportLog(startDate, null, user.getId(), endDate, projectId,stateKey,branchDepartment,field,fieldValue);
                     } else {
-                        reportsFromProjects = reportMapper.getAllReportByDate(startDate, null, user.getId(), endDate, projectId,stateKey,branchDepartment);
+                        reportsFromProjects = reportMapper.getAllReportByDate(startDate, null, user.getId(), endDate, projectId,stateKey,branchDepartment,field,fieldValue);
                     }
 
                 }
@@ -6582,9 +6623,9 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             else {
                 //看公司所有人的
                 if (exportType == 0 && timeType.getShowFillauditTime() == 1) {
-                    allReportByDate = reportMapper.getAllReportByDateWithReportLog(startDate, user.getCompanyId(), null, endDate, projectId,stateKey,branchDepartment);
+                    allReportByDate = reportMapper.getAllReportByDateWithReportLog(startDate, user.getCompanyId(), null, endDate, projectId,stateKey,branchDepartment,field,fieldValue);
                 } else {
-                    allReportByDate = reportMapper.getAllReportByDate(startDate, user.getCompanyId(), null, endDate, projectId,stateKey,branchDepartment);
+                    allReportByDate = reportMapper.getAllReportByDate(startDate, user.getCompanyId(), null, endDate, projectId,stateKey,branchDepartment,field,fieldValue);
                 }
             }
             //获取企业微信考勤数据
@@ -6804,7 +6845,12 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                         item.add((String) map.get("detail"));
                     }
                 }
-                item.add(map.get("duration").toString());
+                if (hideTimeCount>0){
+                    item.add("*");
+                }else {
+                    item.add(map.get("duration").toString());
+                }
+
                 if (timeType.getMultiWorktime() == 1) {
                     if ((Integer)map.get("multiWorktime") == 1) {
                         item.add(map.get("startTime").toString()+"-"+map.get("endTime").toString());
@@ -6813,11 +6859,11 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     }
                     //加班情况
                     int isOverTime = (Integer) map.get("isOvertime");
-                    item.add(isOverTime==1?(df.format((double)map.get("overtimeHours"))):"-");
+                    item.add(isOverTime==1?(hideTimeCount>0?"*":df.format((double)map.get("overtimeHours"))):"-");
                 }
                 if (timeType.getMultiWorktime() == 0) {
                     int isOverTime = (Integer) map.get("isOvertime");
-                    item.add(isOverTime==1?(df.format((double)map.get("overtimeHours"))):"-");
+                    item.add(isOverTime==1?(hideTimeCount>0?"*":df.format((double)map.get("overtimeHours"))):"-");
                 }
                 //是否启用自定义的维度了
                 if (timeType.getCustomDegreeActive() == 1) {
@@ -7027,7 +7073,12 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                             }
                         }
                     }
-                    item.add(cellValue);
+                    if (hideTimeCount>0){
+                        item.add("*");
+                    }else {
+                        item.add(cellValue);
+                    }
+
                 }
                 //审核流程状态
                 if (exportType==0) {
@@ -7775,7 +7826,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             return msg;
         }
         if(token.equals(thirdPartyInterface.getToken())){
-            List<HashMap<String, Object>> allReportByDate = reportMapper.getAllReportByDate(startDate,thirdPartyInterface.getCompanyId(), null, endDate, null, 1, null);
+            List<HashMap<String, Object>> allReportByDate = reportMapper.getAllReportByDate(startDate,thirdPartyInterface.getCompanyId(), null, endDate, null, 1, null,null,null);
             final CountDownLatch latch=new CountDownLatch(allReportByDate.size());
             for (HashMap<String, Object> map : allReportByDate) {
                 java.sql.Date sqlCreateDate= (java.sql.Date) map.get("createDate");
@@ -8907,6 +8958,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             userId = targetUserId;
         }
         User user = userMapper.selectById(userId);
+        Integer hideTimeCount= sysRoleFunctionService.selectHideTimeCount(user.getRoleId());
         Company company = companyMapper.selectById(user.getCompanyId());
         //根据targetDate获取本周的日期
         DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
@@ -9063,9 +9115,21 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
 
             //放入当天对应的日报
             List<Report> dateReportList = reportList.stream().filter(r -> r.getCreateDate().isEqual(itemDate)).collect(Collectors.toList());
-            item.put("reportList", dateReportList);
-            double sum = dateReportList.stream().mapToDouble(Report::getWorkingTime).sum();
-            item.put("filledTime", sum);
+            if(hideTimeCount>0){
+                for (Report report : dateReportList) {
+                    if (report.getWorkingTime()!=null){
+                        report.setWorkingTime(null);
+                        report.setEndTime("");
+                        report.setStartTime("");
+                    }
+                }
+                item.put("reportList", dateReportList);
+                item.put("filledTime", "*");
+            }else {
+                item.put("reportList", dateReportList);
+                double sum = dateReportList.stream().mapToDouble(Report::getWorkingTime).sum();
+                item.put("filledTime", sum);
+            }
             dateList.add(item);
         }
         reportMap.put("dateList", dateList);
@@ -10477,8 +10541,16 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         }
         List<User> needRangeUserList=new ArrayList<>();
         for (User u : allRangeUserList) {
-            if(u.getInactiveDate()==null||(u.getInactiveDate()!=null&&u.getInactiveDate().isAfter(LocalDate.parse(startDate))||u.getIsActive()==1)){
-                needRangeUserList.add(u);
+            if(u.getIsActive()==0) {
+                //离职人员,判断离职的日期要在所选开始日期之后。才显示该员工
+                if (u.getInactiveDate() == null || u.getInactiveDate().isAfter(LocalDate.parse(startDate))) {
+                    needRangeUserList.add(u);
+                }
+            } else {
+                //在职员工,如果有设置在职日期,判断在职日期在所选结束日期之前,才显示该员工
+                if (u.getInductionDate() == null || u.getInductionDate().isBefore(LocalDate.parse(endDate))) {
+                    needRangeUserList.add(u);
+                }
             }
         }
         List<LocalDate> days = getDays(LocalDate.parse(startDate, df), LocalDate.parse(endDate, df));

+ 9 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/SysRoleFunctionServiceImpl.java

@@ -4,8 +4,11 @@ import com.management.platform.entity.SysRoleFunction;
 import com.management.platform.mapper.SysRoleFunctionMapper;
 import com.management.platform.service.SysRoleFunctionService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.ibatis.annotations.Mapper;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+
 /**
  * <p>
  * 角色菜单关联表 服务实现类
@@ -16,5 +19,11 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class SysRoleFunctionServiceImpl extends ServiceImpl<SysRoleFunctionMapper, SysRoleFunction> implements SysRoleFunctionService {
+    @Resource
+    private SysRoleFunctionMapper sysRoleFunctionMapper;
 
+    @Override
+    public Integer selectHideTimeCount(Integer roleId) {
+        return sysRoleFunctionMapper.selectHideTimeCount(roleId);
+    }
 }

+ 3 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/application.yml

@@ -18,6 +18,9 @@ spring:
     url: jdbc:mysql://1.94.62.58:17089/man_dev?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&useSSL=false
     username: root
     password: P011430@Huoshi*
+#    url: jdbc:mysql://47.100.37.243:7644/man_hour_manager?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&rewriteBatchedStatements=true
+#    username: root
+#    password: Ziyu20141026!@@
     hikari:
       maximum-pool-size: 60
       minimum-idle: 10

+ 15 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportMapper.xml

@@ -117,6 +117,9 @@
                 #{deptId}
             </foreach>
         </if>
+        <if test="field !=null and field !='' and fieldValue !=null and fieldValue !='' ">
+            and  c.${field} = #{fieldValue}
+        </if>
 
         ORDER BY a.creator_id, a.create_date desc
     </select>
@@ -232,6 +235,9 @@
                 #{deptId}
             </foreach>
         </if>
+        <if test="field !=null and field !='' and fieldValue !=null and fieldValue !='' ">
+            and  c.${field} = #{fieldValue}
+        </if>
         group by a.id
         ORDER BY a.creator_id, a.create_date desc
     </select>
@@ -379,6 +385,9 @@
                 #{deptId}
             </foreach>
         </if>
+        <if test="field !=null and field !='' and fieldValue !=null and fieldValue !='' ">
+            and  c.${field} = #{fieldValue}
+        </if>
         ORDER BY a.creator_id, a.create_date desc
     </select>
 
@@ -448,6 +457,9 @@
                 #{deptId}
             </foreach>
         </if>
+        <if test="field !=null and field !='' and fieldValue !=null and fieldValue !='' ">
+            and  c.${field} = #{fieldValue}
+        </if>
         group by a.id
         ORDER BY a.creator_id, a.create_date desc
     </select>
@@ -509,6 +521,9 @@
             </foreach>
             or a.creator_id=#{viewUserId})
         </if>
+        <if test="field !=null and field !='' and fieldValue !=null and fieldValue !='' ">
+            and  c.${field} = #{fieldValue}
+        </if>
         ORDER BY a.creator_id, a.create_date desc
     </select>
     <!-- 批量获取员工某天的报告 -->

+ 5 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/SysRoleFunctionMapper.xml

@@ -23,4 +23,9 @@
         left join sys_function on sys_function.id = sys_role_function.function_id
         where role_id = #{roleId}
     </select>
+    <select id="selectHideTimeCount" resultType="java.lang.Integer">
+        select count(*) total from sys_role_function
+        left join sys_function on sys_function.id = sys_role_function.function_id
+        where role_id = #{roleId} and sys_function.name='隐藏工时数'
+    </select>
 </mapper>

+ 1 - 1
fhKeeper/formulahousekeeper/ops-platform/src/main/resources/application.yml

@@ -14,7 +14,7 @@ spring:
       location: C:/upload/
   datasource:
     driver-class-name: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://1.94.62.58:17089/man_dev?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&rewriteBatchedStatements=true
+    url: jdbc:mysql://1.94.62.58:17089/man_dev?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&useSSL=false
     username: root
     password: P011430@Huoshi*
     hikari: