瀏覽代碼

清空账号
钉钉同步

seyason 2 年之前
父節點
當前提交
2859da750a

+ 3 - 5
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/DingDingController.java

@@ -219,10 +219,8 @@ public class DingDingController {
                                         } else {
                                             System.out.println("===未授权启用===");
                                         }
-
                                     } else {
                                         System.out.println("==Push 推送授权类型 ==="+syncAction);
-
                                     }
                                 } else if (bizType == 7) {
                                     JSONObject biz_data = JSONObject.parseObject(bizItem.getString("biz_data"));
@@ -366,7 +364,7 @@ public class DingDingController {
 //    }
 
     @RequestMapping("/syncUserWorkData")
-    public HttpRespMsg syncUserWorkData(Integer companyId, String startDate, String endDate) {
+    public HttpRespMsg syncUserWorkData(Integer companyId, String userId, String startDate, String endDate) {
         CompanyDingding dingding = companyDingdingMapper.selectOne(new QueryWrapper<CompanyDingding>().eq("company_id", companyId).isNotNull("inner_appkey"));
         HttpRespMsg msg = new HttpRespMsg();
         if (startDate.compareTo(endDate) > 0) {
@@ -380,7 +378,7 @@ public class DingDingController {
                 return msg;
             } else {
                 long t1 = System.currentTimeMillis();
-                dingDingService.syncUserWorkData(dingding, startDate, endDate, true);
+                dingDingService.syncUserWorkData(dingding, userId, startDate, endDate, true);
                 long t2 = System.currentTimeMillis();
                 System.out.println("总共耗时:"+(t2-t1)+"ms");
             }
@@ -397,7 +395,7 @@ public class DingDingController {
             } else {
                 long t1 = System.currentTimeMillis();
                 for (int i=0;i<dingdingList.size(); i++) {
-                    dingDingService.syncUserWorkData(dingdingList.get(i), startDate, endDate, true);
+                    dingDingService.syncUserWorkData(dingdingList.get(i), userId, startDate, endDate, true);
                 }
                 long t2 = System.currentTimeMillis();
                 System.out.println("总共耗时:"+(t2-t1)+"ms");

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

@@ -33,7 +33,7 @@ public interface DingDingService {
 
     void syncLeaveTime(Integer companyId, String userId, String startDate, String endDate);
 
-    void syncUserWorkData(CompanyDingding dingding, String startDate, String endDate, boolean showLog);
+    void syncUserWorkData(CompanyDingding dingding,String userId, String startDate, String endDate, boolean showLog);
 
     void getCorpSelfDefSmartReport(CompanyDingding dingding);
 

+ 12 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DingDingServiceImpl.java

@@ -1084,7 +1084,7 @@ public class DingDingServiceImpl implements DingDingService {
 
     //获取当天的员工考勤数据,包括打卡,请假/出差申请单; 仅企业内部应用有权限
     @Override
-    public void syncUserWorkData(CompanyDingding dingding, String startDate, String endDate, boolean showLog) {
+    public void syncUserWorkData(CompanyDingding dingding, String userId, String startDate, String endDate, boolean showLog) {
         DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
         LocalDate sDate = LocalDate.parse(startDate, dateTimeFormatter);
         LocalDate eDate = LocalDate.parse(endDate, dateTimeFormatter);
@@ -1094,7 +1094,7 @@ public class DingDingServiceImpl implements DingDingService {
             LocalDate workDate = sDate.plusDays(i);
             String wDate = dateTimeFormatter.format(workDate);
             System.out.println("同步钉钉考勤假期出差第:"+i+"天, " + wDate);
-            sycUserOneDayWorkData(dingding, wDate, showLog);
+            sycUserOneDayWorkData(dingding, userId, wDate, showLog);
             //到达结束日期,结束了
             if (workDate.isEqual(eDate)) {
                 break;
@@ -1103,8 +1103,16 @@ public class DingDingServiceImpl implements DingDingService {
         }
     }
 
-    private void sycUserOneDayWorkData(CompanyDingding dingding, String workDate, boolean showLog) {
-        List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", dingding.getCompanyId()));
+    private void sycUserOneDayWorkData(CompanyDingding dingding, String userId, String workDate, boolean showLog) {
+        List<User> userList = null;
+        if (StringUtils.isEmpty(userId)) {
+            userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", dingding.getCompanyId()));
+        } else {
+            //指定某个员工进行同步
+            userList = new ArrayList<>();
+            userList.add(userMapper.selectById(userId));
+        }
+
         String accessToken = null;
         try {
             accessToken = getInnerCorpToken(dingding);

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/TimingTask.java

@@ -170,7 +170,7 @@ public class TimingTask {
             for (int i=0;i<dingdingList.size(); i++) {
                 System.out.println("钉钉公司:"+dingdingList.get(i).getCorpName());
                 long t1 = System.currentTimeMillis();
-                dingDingService.syncUserWorkData(dingdingList.get(i), startDate, endDate, false);
+                dingDingService.syncUserWorkData(dingdingList.get(i), null, startDate, endDate, false);
                 long t2 = System.currentTimeMillis();
                 System.out.println("同步 "+dingdingList.get(i).getCorpName()+", 总共耗时:"+(t2-t1)+"ms");
             }

+ 5 - 1
fhKeeper/formulahousekeeper/timesheet_h5/src/views/error/index.vue

@@ -6,6 +6,7 @@
             <p><img src="../../assets/img/kf.jpg" style="width:100%;" /></p>
             <p>QQ:3052894409</p>
             <p>电话:<a href="tel://15895914665">15895914665</a></p>
+            <p v-if="errorMsg == '账号不存在'" style="text-align:center;"><van-button @click="clearAccount" type="info">清空重试</van-button></p>
         </div>
     </div>
 </template>
@@ -31,7 +32,10 @@
         created() {
         },
         methods: {
-            
+            clearAccount() {
+                localStorage.removeItem('userInfo');
+                alert('清除成功,请关闭后重新进入系统');
+            }
 
         },