Min 1 년 전
부모
커밋
22dd55be6b
19개의 변경된 파일207개의 추가작업 그리고 15개의 파일을 삭제
  1. 4 3
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportController.java
  2. 13 2
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserController.java
  3. 1 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserCorpwxTimeController.java
  4. 21 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserReportDeptController.java
  5. 6 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/TimeType.java
  6. 3 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/User.java
  7. 42 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/UserReportDept.java
  8. 16 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/UserReportDeptMapper.java
  9. 16 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/UserReportDeptService.java
  10. 1 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/UserService.java
  11. 1 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/CompanyDingdingServiceImpl.java
  12. 1 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ExpenseSheetServiceImpl.java
  13. 1 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectPercentageServiceImpl.java
  14. 2 2
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java
  15. 1 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/TaskServiceImpl.java
  16. 20 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/UserReportDeptServiceImpl.java
  17. 39 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/UserServiceImpl.java
  18. 2 1
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/TimeTypeMapper.xml
  19. 17 0
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/UserReportDeptMapper.xml

+ 4 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportController.java

@@ -368,7 +368,8 @@ public class ReportController {
                                   Integer[] extraField3,
                                   Integer[] sapServiceId,//依斯贝的服务Id
                                   String summary,         //针对工作总结的字段
-                                  String[] multiDegrId
+                                  String[] multiDegrId,
+                                  Integer reportTargetDeptId
                                     ) {
         List<Report> reportList = new ArrayList<>();
         String token = request.getHeader("Token");
@@ -889,7 +890,7 @@ public class ReportController {
                             report.setStage(stage[i]);
                             report.setCreateDate(localStartDate);
                             report.setCreatorId(token);
-                            report.setDeptId(user.getDepartmentId());
+                            report.setDeptId(reportTargetDeptId==null?user.getDepartmentId():reportTargetDeptId);
                             report.setProjectAuditState(0);
                             report.setProjectAuditorId(projectAuditorId[i]);
                             report.setTaskFinish(taskFinish[i]);
@@ -1002,7 +1003,7 @@ public class ReportController {
                         report.setPicStr(picStr!=null?picStr[i]:null);
                         report.setCreateDate(LocalDate.parse(createDate[i], DateTimeFormatter.ofPattern("yyyy-MM-dd")));
                         report.setCreatorId(token);
-                        report.setDeptId(user.getDepartmentId());
+                        report.setDeptId(reportTargetDeptId==null?user.getDepartmentId():reportTargetDeptId);
                         report.setProjectAuditState(0);
                         report.setProjectAuditorId(projectAuditorId[i]);
                         report.setTaskFinish(taskFinish[i]);

+ 13 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserController.java

@@ -235,9 +235,9 @@ public class UserController {
                                   @RequestParam Integer roleId, Double monthCost, Double cost,
                                   Integer departmentId, Integer salaryType, String costApplyDate,
                                     String position, String certJson,String inductionDate,String superiorId,
-                                    String plate1,String plate2,String plate3,String plate4,String plate5, String jobNumber, String inactiveDate) {
+                                    String plate1,String plate2,String plate3,String plate4,String plate5, String jobNumber, String inactiveDate,String reportDeptIds) {
         return userService.insertUser(id, name, phone, onlyAuditOnce, roleId, monthCost, cost, departmentId, salaryType, costApplyDate,
-                    position, certJson, request,inductionDate,superiorId,plate1, plate2, plate3,plate4,plate5, jobNumber, inactiveDate);
+                    position, certJson, request,inductionDate,superiorId,plate1, plate2, plate3,plate4,plate5, jobNumber, inactiveDate,reportDeptIds);
     }
 
     /**
@@ -971,5 +971,16 @@ public class UserController {
         return msg;
     }
 
+    @RequestMapping("/userRename")
+    public HttpRespMsg userRename(String newName){
+        HttpRespMsg msg=new HttpRespMsg();
+        User user = userMapper.selectById(request.getHeader("token"));
+        user.setName(newName);
+        if(userMapper.updateById(user)<=0){
+            msg.setError("更新失败");
+        };
+        return msg;
+    }
+
 }
 

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

@@ -554,7 +554,7 @@ public class UserCorpwxTimeController {
                 for (String name : userNameList) {
                     respMsg= companyDingdingService.getSearchUserInfo(dingding,name,1);
                     SearchUserResponse searchUserResponse = (SearchUserResponse) respMsg.data;
-                    if(searchUserResponse.body.totalCount>0){
+                    if(searchUserResponse.body.totalCount>1){
                         msg.setError("姓名为["+name+"]的人员存在重复,请使用工号!");
                         return msg;
                     }

+ 21 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserReportDeptController.java

@@ -0,0 +1,21 @@
+package com.management.platform.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author Seyason
+ * @since 2024-04-29
+ */
+@RestController
+@RequestMapping("/user-report-dept")
+public class UserReportDeptController {
+
+}
+

+ 6 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/TimeType.java

@@ -560,6 +560,12 @@ public class TimeType extends Model<TimeType> {
     @TableField("hide_subproject")
     private Integer hideSubproject;
 
+    /**
+     * 是否开启设置可填报部门 0-否 1-是
+     */
+    @TableField("user_with_multi_dept")
+    private Integer userWithMultiDept;
+
     /**
      * 开启日报审批流的本部门负责人由上级部门负责人审核
      */

+ 3 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/User.java

@@ -296,6 +296,9 @@ public class User extends Model<User> {
     @TableField("only_audit_once")
     private Integer onlyAuditOnce;
 
+    @TableField(exist = false)
+    private List<Department> userReportDeptList;
+
 
     @Override
     protected Serializable pkVal() {

+ 42 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/UserReportDept.java

@@ -0,0 +1,42 @@
+package com.management.platform.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author Seyason
+ * @since 2024-04-29
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class UserReportDept extends Model<UserReportDept> {
+
+    private static final long serialVersionUID=1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("user_id")
+    private String userId;
+
+    @TableField("dept_id")
+    private Integer deptId;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 16 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/UserReportDeptMapper.java

@@ -0,0 +1,16 @@
+package com.management.platform.mapper;
+
+import com.management.platform.entity.UserReportDept;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author Seyason
+ * @since 2024-04-29
+ */
+public interface UserReportDeptMapper extends BaseMapper<UserReportDept> {
+
+}

+ 16 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/UserReportDeptService.java

@@ -0,0 +1,16 @@
+package com.management.platform.service;
+
+import com.management.platform.entity.UserReportDept;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2024-04-29
+ */
+public interface UserReportDeptService extends IService<UserReportDept> {
+
+}

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

@@ -38,7 +38,7 @@ public interface UserService extends IService<User> {
     HttpRespMsg insertUser(String id, String name, String phone,Integer onlyAuditOnce, Integer roleId, Double monthCost, Double cost, Integer departmentId,
                            Integer salaryType, String costApplyDate, String position, String certJson,
                            HttpServletRequest request,String inductionDate, String superiorId,String plate1,
-                           String plate2,String plate3,String plate4,String plate5, String jobNumber, String inactiveDate);
+                           String plate2,String plate3,String plate4,String plate5, String jobNumber, String inactiveDate,String reportDeptIds);
 
     HttpRespMsg importUser(MultipartFile multipartFile, HttpServletRequest request);
 

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

@@ -615,7 +615,7 @@ public class CompanyDingdingServiceImpl extends ServiceImpl<CompanyDingdingMappe
                 .setFullMatchField(searchType);
         try {
             SearchUserResponse searchUserResponse = client.searchUserWithOptions(searchUserRequest, searchUserHeaders, new RuntimeOptions());
-            System.out.println("获取到的搜索人员结果:==============>"+searchUserResponse);
+            System.out.println("获取到的搜索人员结果:==============>"+searchUserResponse.body);
             msg.data=searchUserResponse;
             return msg;
         } catch (TeaException err) {

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

@@ -879,7 +879,7 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
                     for (String name : userNameList) {
                         respMsg= companyDingdingService.getSearchUserInfo(dingding,name,1);
                         SearchUserResponse searchUserResponse = (SearchUserResponse) respMsg.data;
-                        if(searchUserResponse.body.totalCount>0){
+                        if(searchUserResponse.body.totalCount>1){
                             msg.setError("姓名为["+name+"]的人员存在重复,请使用工号!");
                             return msg;
                         }

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

@@ -225,7 +225,7 @@ public class ProjectPercentageServiceImpl extends ServiceImpl<ProjectPercentageM
                 for (String name : userNameList) {
                     respMsg= companyDingdingService.getSearchUserInfo(dingding,name,1);
                     SearchUserResponse searchUserResponse = (SearchUserResponse) respMsg.data;
-                    if(searchUserResponse.body.totalCount>0){
+                    if(searchUserResponse.body.totalCount>1){
                         msg.setError("姓名为["+name+"]的人员存在重复,请使用工号!");
                         return msg;
                     }

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

@@ -4528,7 +4528,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     for (String name : userNameList) {
                         respMsg= companyDingdingService.getSearchUserInfo(dingding,name,1);
                         SearchUserResponse searchUserResponse = (SearchUserResponse) respMsg.data;
-                        if(searchUserResponse.body.totalCount>0){
+                        if(searchUserResponse.body.totalCount>1){
                             msg.setError("姓名为["+name+"]的人员存在重复,请使用工号!");
                             return msg;
                         }
@@ -5181,7 +5181,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     for (String name : userNameList) {
                         respMsg= companyDingdingService.getSearchUserInfo(dingding,name,1);
                         SearchUserResponse searchUserResponse = (SearchUserResponse) respMsg.data;
-                        if(searchUserResponse.body.totalCount>0){
+                        if(searchUserResponse.body.totalCount>1){
                             msg.setError("姓名为["+name+"]的人员存在重复,请使用工号!");
                             return msg;
                         }

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

@@ -325,7 +325,7 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
                 for (String name : userNameList) {
                     respMsg= companyDingdingService.getSearchUserInfo(dingding,name,1);
                     SearchUserResponse searchUserResponse = (SearchUserResponse) respMsg.data;
-                    if(searchUserResponse.body.totalCount>0){
+                    if(searchUserResponse.body.totalCount>1){
                         httpRespMsg.setError("姓名为["+name+"]的人员存在重复,请使用工号!");
                         return httpRespMsg;
                     }

+ 20 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/UserReportDeptServiceImpl.java

@@ -0,0 +1,20 @@
+package com.management.platform.service.impl;
+
+import com.management.platform.entity.UserReportDept;
+import com.management.platform.mapper.UserReportDeptMapper;
+import com.management.platform.service.UserReportDeptService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2024-04-29
+ */
+@Service
+public class UserReportDeptServiceImpl extends ServiceImpl<UserReportDeptMapper, UserReportDept> implements UserReportDeptService {
+
+}

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

@@ -216,6 +216,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     private TaskGroupService taskGroupService;
     @Resource
     private ParticipationService participationService;
+    @Resource
+    private UserReportDeptService userReportDeptService;
 
     @Resource
     private LdapTemplate ldapTemplate;
@@ -751,6 +753,14 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
             if (reportCount>0 || taskExecutorCount>0 || projectInchargerList>0){
                 reportCount = 1;
             }
+            List<UserReportDept> userReportDepts = userReportDeptService.list(new LambdaQueryWrapper<UserReportDept>().eq(UserReportDept::getUserId, id));
+            if(userReportDepts.size()>0){
+                List<Integer> deptIds = userReportDepts.stream().map(UserReportDept::getDeptId).distinct().collect(Collectors.toList());
+                List<Department> departmentList = departmentMapper.selectList(new LambdaQueryWrapper<Department>().eq(Department::getDepartmentId, deptIds));
+                user.setUserReportDeptList(departmentList);
+            }else {
+                user.setUserReportDeptList(new ArrayList<>());
+            }
             user.setIsExistsReport(reportCount);
             httpRespMsg.data = user;
         }
@@ -1313,7 +1323,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     @Override
     public HttpRespMsg insertUser(String targetId, String name, String phone, Integer onlyAuditOnce, Integer roleId, Double monthCost, Double cost,
                                   Integer departmentId, Integer salaryType, String costApplyDate, String position, String certJson, HttpServletRequest request,String inductionDate,
-                                  String superiorId,   String plate1,String plate2,String plate3,String plate4,String plate5, String jobNumber, String inactiveDate) {
+                                  String superiorId,   String plate1,String plate2,String plate3,String plate4,String plate5, String jobNumber, String inactiveDate,String reportDeptIds) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
         try {
@@ -1390,6 +1400,18 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                                 userCertService.saveBatch(certList);
                             }
                         }
+                        if(!StringUtils.isEmpty(reportDeptIds)){
+                            List<UserReportDept> userReportDeptList=new ArrayList<>();
+                            String[] split = reportDeptIds.split(",");
+                            List<Integer> deptIds = Arrays.asList(split).stream().map(i -> Integer.valueOf(i)).collect(Collectors.toList());
+                            deptIds.forEach(d->{
+                                UserReportDept userReportDept=new UserReportDept();
+                                userReportDept.setUserId(user.getId());
+                                userReportDept.setDeptId(d);
+                                userReportDeptList.add(userReportDept);
+                            });
+                            userReportDeptService.saveBatch(userReportDeptList);
+                        }
                     }
                 }
             } else {
@@ -1457,6 +1479,22 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                     userMapper.setSuperiorNull(oldUser.getId());
                 }
 
+                if(!StringUtils.isEmpty(reportDeptIds)){
+                    userReportDeptService.remove(new LambdaQueryWrapper<UserReportDept>().eq(UserReportDept::getUserId,targetId));
+                    List<UserReportDept> userReportDeptList=new ArrayList<>();
+                    String[] split = reportDeptIds.split(",");
+                    List<Integer> deptIds = Arrays.asList(split).stream().map(i -> Integer.valueOf(i)).collect(Collectors.toList());
+                    deptIds.forEach(d->{
+                        UserReportDept userReportDept=new UserReportDept();
+                        userReportDept.setUserId(targetId);
+                        userReportDept.setDeptId(d);
+                        userReportDeptList.add(userReportDept);
+                    });
+                    userReportDeptService.saveBatch(userReportDeptList);
+                }else {
+                    //清空数据
+                    userReportDeptService.remove(new LambdaQueryWrapper<UserReportDept>().eq(UserReportDept::getUserId,targetId));
+                }
                 if (salaryChange) {
                     UserSalary userSalary = UserSalary.copyFromUser(oldUser);
                     userSalaryMapper.insert(userSalary);

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 2 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/TimeTypeMapper.xml


+ 17 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/UserReportDeptMapper.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.management.platform.mapper.UserReportDeptMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.management.platform.entity.UserReportDept">
+        <id column="id" property="id" />
+        <result column="user_id" property="userId" />
+        <result column="dept_id" property="deptId" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, user_id, dept_id
+    </sql>
+
+</mapper>