Преглед изворни кода

填报及时率代码优化 私有化企业微信消息推送地址修改

yurk пре 2 година
родитељ
комит
26f7de615b

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

@@ -133,7 +133,7 @@ public interface ReportMapper extends BaseMapper<Report> {
     @Update("update report set task_id = null where task_id=#{taskId}")
     void deleteReportTask(Integer taskId);
 
-    List<Map<String, Object>> getUserReportTimelinessRate(Integer companyId,String startDate, String endDate);
+    List<Map<String, Object>> getUserReportTimelinessRate(Integer companyId,String startDate, String endDate,String userId,List<Integer> deptIds);
     @Select("SELECT report.id, report.creator_id,  DATE_FORMAT(report.`create_date`, '%Y-%m-%d') AS create_date FROM report WHERE report.state = 1  AND report.`project_audit_state`=0 \n" +
             "AND EXISTS(SELECT 1 FROM audit_workflow_time_setting s, `user` u WHERE s.dept_id = u.department_id AND u.id = report.`creator_id` AND s.audit_dept_id IS NOT NULL)\n" +
             "AND EXISTS(SELECT 1 FROM report r WHERE report.`creator_id` = r.creator_id AND report.`create_date` = r.create_date AND report.id <> r.id AND r.state = 0)\n" +

+ 6 - 5
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -6518,13 +6518,12 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         Integer timeliness = timeType.getTimeliness();
         List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "全公司填报及时率");
         List<SysRichFunction> functionDeptList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "负责部门填报及时率");
-        List<Integer> deptIds=null;
+        List<Integer> deptIds=new ArrayList<>();
         List<Department> allDepartmentList=departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id",targetUser.getCompanyId()));
         List<Department> userDepartmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", targetUser.getId()).eq("company_id",targetUser.getCompanyId()));
         List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("other_manager_id", targetUser.getId()));
         //判断查看权限
         if(functionAllList.size()==0){
-            deptIds=new ArrayList<>();
             deptIds.add(-1);
             if(functionDeptList.size()>0){
                 List<Integer> collect = userDepartmentList.stream().map(dm -> dm.getDepartmentId()).distinct().collect(Collectors.toList());
@@ -6536,7 +6535,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 }
             }
         }
-        List<Map<String,Object>> reportList=reportMapper.getUserReportTimelinessRate(targetUser.getCompanyId(),startDate,endDate);
         QueryWrapper<User> queryWrapper=new QueryWrapper();
         queryWrapper.eq("company_id",targetUser.getCompanyId());
         List<Integer> branchDepartment =null;
@@ -6544,13 +6542,15 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             branchDepartment = getBranchDepartment(departmentId, allDepartmentList);
         }
         if(branchDepartment!=null&&branchDepartment.size()>0){
-            queryWrapper.in("department_id",branchDepartment);
+            deptIds.addAll(branchDepartment);
         }
         if(userId!=null){
             queryWrapper.eq("id",userId);
         }
         if(deptIds!=null && deptIds.size()>0){
-            queryWrapper.in("department_id",deptIds);
+            LinkedHashSet<Integer> set = new LinkedHashSet<>(deptIds);
+            List<Object> list = Arrays.asList(set.toArray());
+            queryWrapper.in("department_id",list);
         }
         queryWrapper.eq("is_active",1).orderByAsc("department_id");
         List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", targetUser.getCompanyId()));
@@ -6563,6 +6563,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         }else {
             userList = userMapper.selectList(queryWrapper);
         }
+        List<Map<String,Object>> reportList=reportMapper.getUserReportTimelinessRate(targetUser.getCompanyId(),startDate,endDate,userId,deptIds);
         Map<Object, List<Map<String, Object>>> listMap = reportList.stream().filter(item->!StringUtils.isEmpty(item.get("userName"))).collect(Collectors.groupingBy(rp -> rp.get("userName")));
         //获取请假数据
         List<LeaveSheet> leaveSheetList = leaveSheetMapper.selectList(new QueryWrapper<LeaveSheet>().eq("company_id", targetUser.getCompanyId()));

+ 10 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/WxCorpInfoServiceImpl.java

@@ -113,6 +113,10 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
 
     @Value(value = "${configEnv.isPrivateDeploy}")
     private boolean isPrivateDeploy;
+    @Value(value = "${privateDeployURL.pcUrl}")
+    private boolean pcUrl;
+    @Value(value = "${privateDeployURL.mobUrl}")
+    private boolean mobUrl;
 
     @Autowired
     RestTemplate restTemplate;
@@ -265,7 +269,12 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
             reqParam.put("agentid", corpInfo.getAgentid());
             JSONObject cardJson = new JSONObject();
             String title = "";
-            String jumpUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri=http://worktime.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
+            String jumpUrl ;
+            if(isPrivateDeploy){
+                jumpUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri="+pcUrl+"&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
+            }else {
+                jumpUrl="https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri=http://worktime.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
+            }
 
             if (StringUtils.isEmpty(pageRouter)) {
                 title = "消息通知";

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

@@ -738,6 +738,15 @@
         and rl.create_date between  #{startDate} and #{endDate}
         and rl.msg like '%提交了%'
         and `user`.is_active = 1
+        <if test="userId!=null">
+            and `user`.id=#{userId}
+        </if>
+        <if test="deptIds!=null and deptIds.size()>0">
+            and `user`.department_id  in
+            <foreach collection="deptIds" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
         group by user.id,rl.create_date
     </select>