Prechádzať zdrojové kódy

新增项目增加企业微信模块通讯录搜索功能
组织架构中新增按钮:修正工时所属部门

yurk 2 rokov pred
rodič
commit
55b57f902d

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

@@ -954,7 +954,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
             if (depts.size()!=0){
                 List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().in("corpwx_deptid", depts).eq("company_id",companyId));
                 List<Department> allDepartmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id",companyId));
-                List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId));
+                List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId).eq("is_active",1));
                 List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("company_id", companyId));
                 //结果列表
                 List<DepartmentVO> list = new ArrayList<>();

+ 75 - 9
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DingDingServiceImpl.java

@@ -131,6 +131,14 @@ public class DingDingServiceImpl implements DingDingService {
     private ContactSyncLogMapper contactSyncLogMapper;
     @Resource
     private CompanyReportMapper companyReportMapper;
+    @Resource
+    private TaskGroupMapper taskGroupMapper;
+    @Resource
+    private StagesMapper stagesMapper;
+    @Resource
+    private TaskMapper taskMapper;
+    @Resource
+    private TaskExecutorMapper taskExecutorMapper;
 
 
     @Value("${configEnv.isPrivateDeploy}")
@@ -185,14 +193,6 @@ public class DingDingServiceImpl implements DingDingService {
                     setting.setCompanyId(company.getId());
                     projectBasecostSettingMapper.insert(setting);
                 }
-                //todo: 生成项目报表服务默认条目
-                Integer[] arrayInteger=new Integer[]{1,2,3,4,7};
-                for (Integer integerItem : arrayInteger) {
-                    CompanyReport companyReport=new CompanyReport();
-                    companyReport.setCompanyId(company.getId());
-                    companyReport.setReportFormId(integerItem);
-                    companyReportMapper.insert(companyReport);
-                }
                 //生成费用报销默认条目
                 String[] expenseTypes = Constant.EXPENSE_TYPES;
                 List<String> commonly = new ArrayList<>();
@@ -253,10 +253,76 @@ public class DingDingServiceImpl implements DingDingService {
                     expenseTypeList.add(item);
                 }
                 expenseTypeService.saveBatch(expenseTypeList);
-
                 //获取企业内部应用accessToken
                 String innerCorpToken = getInnerCorpToken(dingding);
                 getAuthedDeptsAndUsers(dingding, innerCorpToken);
+                //直接授权默认人员
+                User user = userMapper.selectList(new QueryWrapper<User>().eq("company_id", company.getId()).eq("is_active", 1)).get(0);
+                //todo: 生成初始测试项目及任务
+                Project project=new Project();
+                project.setCompanyId(company.getId());
+                project.setInchargerId(user.getId());
+                project.setInchargerName(user.getName());
+                project.setCreatorId(user.getId());
+                project.setCreatorName(user.getName());
+                project.setCreateDate(LocalDate.now());
+                project.setProjectCode("example");
+                project.setProjectName("示例项目");
+                //设置为公共项目,这样测试的用户都能填报
+                project.setIsPublic(1);
+                projectMapper.insert(project);
+                //todo: 生成初始项目相关日报审核人
+                ProjectAuditor projectAuditor=new ProjectAuditor();
+                projectAuditor.setAuditorId(user.getId());
+                projectAuditor.setAuditorName(user.getName());
+                projectAuditor.setProjectId(project.getId());
+                projectAuditorMapper.insert(projectAuditor);
+                //todo: 生成项目报表服务默认条目
+                Integer[] arrayInteger=new Integer[]{1,2,3,4,7};
+                for (Integer integerItem : arrayInteger) {
+                    CompanyReport companyReport=new CompanyReport();
+                    companyReport.setCompanyId(company.getId());
+                    companyReport.setReportFormId(integerItem);
+                    companyReportMapper.insert(companyReport);
+                }
+                //todo: 生成初始项目相关示例任务分组/任务阶段以及示例任务
+                TaskGroup taskGroup = new TaskGroup();
+                taskGroup.setProjectId(project.getId())
+                        .setInchargerId(user.getId())
+                        .setName("项目阶段");
+                taskGroupMapper.insert(taskGroup);
+                Stages stage = new Stages();
+                stage.setGroupId(taskGroup.getId());
+                stage.setSequence(1);
+                stage.setProjectId(project.getId());
+                stage.setStagesName("工作开展");
+                stagesMapper.insert(stage);
+                Task task=new Task();
+                Integer oneDayHours = 8;
+                task.setCreateDate(LocalDate.now());
+                task.setProjectId(project.getId());
+                task.setCompanyId(company.getId());
+                task.setCreaterId(user.getId());
+                task.setCreaterName(user.getName());
+                task.setCreatorColor(user.getColor());
+                task.setExecutorId(user.getId());
+                task.setExecutorColor(user.getColor());
+                task.setExecutorName(user.getName());
+                task.setPlanHours(oneDayHours);
+                task.setStagesId(stage.getId());
+                task.setGroupId(taskGroup.getId());
+                task.setSeq(0);
+                task.setName("示例任务");
+                taskMapper.insert(task);
+                //任务执行人表也要插入,不然会导致编辑任务的时候执行人为空
+                TaskExecutor executor = new TaskExecutor();
+                executor.setTaskId(task.getId());
+                executor.setPlanHours(oneDayHours);
+                executor.setProjectId(project.getId());
+                executor.setExecutorId(user.getId());
+                executor.setExecutorColor(user.getColor());
+                executor.setExecutorName(user.getName());
+                taskExecutorMapper.insert(executor);
             }
         }
         return msg;

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

@@ -758,7 +758,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
             HashMap<String, List> result = wxCorpInfoService.getOpenId(wxCorpInfo.getCorpid(), keyword, cursor,1,200);
             List users = result.get("user");
             if (users.size()!=0){
-                List<User> realUser = userMapper.selectList(new QueryWrapper<User>().in("corpwx_userid", users));
+                List<User> realUser = userMapper.selectList(new QueryWrapper<User>().and(wrapper->wrapper.like("phone",keyword).or().like("job_number",keyword).or().in("corpwx_userid", users)));
                 long total = realUser.size();
                 data.put("records",realUser);
                 data.put("nextCursor",result.get("nextCursor").get(0));

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/UserMapper.xml

@@ -66,7 +66,7 @@
             AND a.department_id = #{departmentId}
         </if>
         <if test="keyword != null and keyword != ''">
-            AND a.name like '%${keyword}%'
+            AND (a.name like '%${keyword}%' or a.phone like '%${keyword}%' a.job_number like '%${keyword}%' )
         </if>
         <if test="status != null">
             AND a.is_active = #{status}