Browse Source

组织架构批量启用员工

yusm 1 year ago
parent
commit
0ccd72ab94

+ 5 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserController.java

@@ -237,6 +237,11 @@ public class UserController {
         return userService.setActive(id, isActive);
     }
 
+    @RequestMapping("/setActiveByIds")
+    public HttpRespMsg setActiveByIds(String ids, int isActive) {
+        return userService.setActiveByIds(ids, isActive);
+    }
+
     @RequestMapping("/exportUsers")
     public HttpRespMsg exportUsers(Integer containInvalid) {
         return userService.exportUsers(containInvalid,request);

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/UserMapper.java

@@ -50,4 +50,6 @@ public interface UserMapper extends BaseMapper<User> {
     List<User> getInActiveList(ArrayList<Integer> deptIds, String startDate, String endDate);
 
     List<User> getInActiveBewttenStartAndEndList(ArrayList<Integer> deptIds, String startDate, String endDate);
+
+    void updateActiveByIds(List<String> array, int isActive);
 }

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

@@ -103,4 +103,6 @@ public interface UserService extends IService<User> {
     HttpRespMsg initSystemForAd(String companyName) throws Exception;
 
     HttpRespMsg syncDeptWithAD(HttpServletRequest request) throws Exception;
+
+    HttpRespMsg setActiveByIds(String ids, int isActive);
 }

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

@@ -1819,6 +1819,32 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 
         return msg;
     }
+
+    @Override
+    public HttpRespMsg setActiveByIds(String ids, int isActive) {
+        HttpRespMsg msg = new HttpRespMsg();
+        if (!StringUtils.isEmpty(ids)){
+            List<String> array = JSONArray.parseArray(ids, String.class);
+            if (array.size()>0){
+                //判断人数
+                String token = request.getHeader("Token");
+                User user = userMapper.selectById(token);
+                if (isActive == 1 && userMapper.selectCount(new QueryWrapper<User>()
+                        .eq("company_id", user.getCompanyId()).eq("is_active", 1)) >=
+                        (companyMapper.selectById(user.getCompanyId()).getStaffCountMax())) {
+                    //msg.setError("公司人员已达上限,无法启用");
+                    msg.setError(MessageUtils.message("register.fullError"));
+                } else {
+                    userMapper.updateActiveByIds(array,isActive);
+                }
+            }else {
+                msg.setError(MessageUtils.message("other.peopleNull"));
+            }
+        }else {
+            msg.setError(MessageUtils.message("other.peopleNull"));
+        }
+        return msg;
+    }
 //
 //    private String getAccessToken(String code) {
 //        String accessToken = "";
@@ -3369,7 +3395,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
         }
         return new HttpRespMsg();
     }
-
     public LdapContext adLogin() {
 
         LdapContext ldapContext = null;

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

@@ -225,4 +225,11 @@
                AND r.create_date BETWEEN #{startDate} AND #{endDate})
           AND induction_date BETWEEN #{startDate} AND #{endDate} AND inactive_date BETWEEN #{startDate} AND #{endDate}
     </select>
+
+    <update id="updateActiveByIds">
+        update user set is_active=1 WHERE id IN
+        <foreach collection="array" item="id" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
+    </update>
 </mapper>