Bläddra i källkod

钉钉同步剩余假期bug修复。待办任务查询效率提升

seyason 2 år sedan
förälder
incheckning
c8dc3074bd

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

@@ -1550,9 +1550,10 @@ public class DingDingServiceImpl implements DingDingService {
         req.setVacationSource("all");
         OapiAttendanceVacationTypeListResponse rsp = null;
         try {
-            rsp = client.execute(req, getInnerCorpToken(dingding));
+            String innerToken = getInnerCorpToken(dingding);
+            System.out.println("innerToken="+innerToken);
+            rsp = client.execute(req, innerToken);
             System.out.println(rsp.getBody());
-            System.out.println(rsp.getErrcode()+":"+rsp.getErrmsg());
             JSONObject json = JSONObject.parseObject(rsp.getBody());
             JSONArray result = json.getJSONArray("result");
             List<LeaveType> typeList = new ArrayList<>();
@@ -1571,7 +1572,9 @@ public class DingDingServiceImpl implements DingDingService {
             leaveTypeService.saveBatch(typeList);
             List<User> allUsers = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId));
             int batchSize = 50;
-            int batchCount = allUsers.size()%50+allUsers.size()/50==0?0:1;
+            int batchCount = allUsers.size()/50+(allUsers.size()%50==0?0:1);
+            System.out.println("allUserSize=="+allUsers.size());
+            System.out.println("batchCount=="+batchCount);
             //删除老数据
             leaveQuotaNumService.remove(new QueryWrapper<LeaveQuotaNum>().eq("company_id", companyId));
             for (LeaveType type : typeList) {
@@ -1581,6 +1584,7 @@ public class DingDingServiceImpl implements DingDingService {
                     int endIndex = (i+1)*batchSize;
                     if (endIndex > allUsers.size()) endIndex = allUsers.size();
                     List<User> curUserList = allUsers.subList(startIndex, endIndex);
+                    System.out.println(type.getLeaveName()+" batchNum:"+(i)+", range=["+startIndex+"-"+endIndex+"]");
                     syncQuotaList(type.getLeaveCode(), oaManagerDid, dingding, curUserList, 0);
                 }
             }
@@ -1688,7 +1692,7 @@ public class DingDingServiceImpl implements DingDingService {
         } catch (ApiException e) {
             e.printStackTrace();
         }
-        System.out.println(quotaListResponse.getBody()+":"+quotaListResponse.getErrmsg());
+        System.out.println(quotaListResponse.getBody());
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         JSONObject json = JSONObject.parseObject(quotaListResponse.getBody());
         DecimalFormat df = new DecimalFormat("#0.0");

+ 8 - 14
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/TaskMapper.xml

@@ -198,23 +198,17 @@
     </select>
 
     <select id="getTaskWithProjectName" resultMap="RichResultMap">
-        SELECT task.*, project.`project_name`, stages.stages_name
-        <if test="companyId==428">
-            ,department.department_name
-        </if>
+        SELECT task.id, task.project_id, task.name, task.executor_name, task.start_date, task.`end_date`,task.create_date, task.`creater_id`, task.`creater_name`, task.group_id,
+        task.plan_hours, task.task_type, task.task_level, task.task_status, task.`finish_date`, project.`project_name`, stages.stages_name,department.department_name
         FROM task LEFT JOIN project ON project.id = task.`project_id`
         left join stages on stages.id = task.stages_id
-        <if test="companyId==428">
-            left join department on department.department_id=project.dept_id
-        </if>
+        left join department on department.department_id=project.dept_id
         ${ew.customSqlSegment}
-        <if test="companyId==428">
-            <if test="deptIds!=null and deptIds.size()>0">
-                and project.dept_id in
-                <foreach collection="deptIds" open="(" close=")" separator="," item="item">
-                    #{item}
-                </foreach>
-            </if>
+        <if test="deptIds!=null and deptIds.size()>0">
+            and project.dept_id in
+            <foreach collection="deptIds" open="(" close=")" separator="," item="item">
+                #{item}
+            </foreach>
         </if>
         ORDER BY task.indate desc
         <if test="pageStart != null and pageSize != null">