QuYueTing hai 2 días
pai
achega
6e1b5f4ba3

+ 1 - 10
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserCorpwxTimeController.java

@@ -231,17 +231,8 @@ public class UserCorpwxTimeController {
         String token = request.getHeader("TOKEN");
         User user = userMapper.selectById(token);
         List<Map> list = new ArrayList<Map>();
-        list = userCorpwxTimeMapper.getUserDataList(user.getCompanyId(), startDate, endDate, null, user.getId());
+        list = userCorpwxTimeMapper.getUserDataList(user.getCompanyId(), startDate, endDate, null, user.getRoleName().contains("管理员")?null:user.getId());
         //工作日处理,排除常规周末和法定节假日
-        DateTimeFormatter dtf =  DateTimeFormatter.ofPattern("yyyy/MM/dd");
-//        list = list.stream().filter(time->{
-//            String date = (String)time.get("createDate");
-//            if (WorkDayCalculateUtils.isWorkDay(LocalDate.parse(date, dtf))) {
-//                return true;
-//            } else {
-//                return false;
-//            }
-//        }).collect(Collectors.toList());
         DateTimeFormatter standFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
         HashMap item = new HashMap();
         item.put("list", list);

+ 5 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DingDingServiceImpl.java

@@ -1101,19 +1101,22 @@ public class DingDingServiceImpl implements DingDingService {
                 String dduid = result.getString("userid");
                 CompanyDingding companyDingding = companyDingdingMapper.selectById(corpid);
                 //一个钉钉用户可能有多个企业,他们的dingding_userid是一样的,此处需要结合companyId来组合判断
-                List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("dingding_userid", dduid).eq("company_id", companyDingding.getCompanyId()).orderByDesc("create_time"));
+                List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("dingding_userid", dduid).eq("company_id", companyDingding.getCompanyId()));
                 if (userList.size() == 0) {
                     //httpRespMsg.setError("您尚无权使用系统,请联系管理员。");
                     httpRespMsg.setError(MessageUtils.message("user.NoPermission"));
                     return httpRespMsg;
                 }
+                //可能有多个
+                if (userList.size() > 0) {
+                    System.out.println("异常:钉钉用户存在重复数据:"+userList.get(0).getName()+"--"+userList.get(0).getDingdingUserid());
+                }
                 User user = userList.get(0);
                 if (user.getIsActive() == 0) {
                     //httpRespMsg.setError("该账户已停用,无法登陆。请联系管理员");
                     httpRespMsg.setError(MessageUtils.message("user.inactive"));
                 } else {
                     //查看该公司非会员公司,只能允许试用三天,超时不可登录
-
                     Company company = companyMapper.selectById(companyDingding.getCompanyId());
                     //公司未办理会员
                     if (null != company.getExpirationDate()) {

+ 7 - 3
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

@@ -2832,12 +2832,16 @@
             //按选择的日期范围刷新考勤
             refreshWXCardTimeByRange() {
                 this.refreshingTime = true;
-                this.http.post('/wxcorp/getUserCheckInDayData',{
+                var param = {
                     companyId: this.user.companyId,
-                    userId: this.user.id,
                     startDate: this.importWxParam.date[0],
                     endDate: this.importWxParam.date[1],
-                },res => {
+                }
+                //非管理员只能看到自己的
+                if (this.user.roleName.indexOf('管理员') == -1) {
+                    param.userId = this.user.id;
+                }
+                this.http.post('/wxcorp/getUserCheckInDayData',param,res => {
                     this.refreshingTime = false;
                     if(res.code == 'ok'){
                         this.loadCheckInData();