瀏覽代碼

后台首页

Administrator 2 年之前
父節點
當前提交
9a2b38b053

+ 53 - 20
ruoyi-admin/src/main/java/com/ruoyi/web/controller/index/IndexController.java

@@ -10,6 +10,8 @@ import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.domain.KaoqinRecord;
+import com.ruoyi.system.service.IKaoqinRecordService;
 import com.ruoyi.system.service.ISysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -18,6 +20,11 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 import static com.ruoyi.common.utils.SecurityUtils.checkStrongPwd;
 
 /**
@@ -34,42 +41,40 @@ public class IndexController extends BaseController {
     @Autowired
     private RedisCache redisCache;
 
+    @Autowired
+    private IKaoqinRecordService kaoqinRecordService;
+
     /**
-     * 新增用户
+     * app新增用户
      */
     @PostMapping
-    public AjaxResult add(@Validated @RequestBody SysUser user)
-    {
-        if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user)))
-        {
+    public AjaxResult add(@Validated @RequestBody SysUser user) {
+        if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) {
             return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
-        }
-        else if (StringUtils.isNotEmpty(user.getPhonenumber())
-                && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
-        {
+        } else if (StringUtils.isNotEmpty(user.getPhonenumber())
+                && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
             return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
-        }
-        else if ("1".equals(checkStrongPwd(user.getPassword()))) {
+        } else if ("1".equals(checkStrongPwd(user.getPassword()))) {
             return AjaxResult.error("密码必须包含数字、大小写字母、特殊符号且大于8位");
         }
         user.setCreateBy("APP");
         user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
         return toAjax(userService.insertUserApp(user));
     }
+
     /**
      * 重置密码app
      */
     @PostMapping("/resetPwdAPP")
-    public AjaxResult resetPwdAPP(@RequestBody SysUser user)
-    {
+    public AjaxResult resetPwdAPP(@RequestBody SysUser user) {
         String verifyKey = CacheConstants.SMS_CODE_KEY + user.getPhonenumber();
 
         String codeApp = redisCache.getCacheObject(verifyKey);
-        if (StringUtils.isBlank(codeApp)){
+        if (StringUtils.isBlank(codeApp)) {
             return AjaxResult.error("短信验证码已过期");
         }
         String code = user.getCode();
-        if (!codeApp.equals(code)){
+        if (!codeApp.equals(code)) {
             return AjaxResult.error("验证码不正确");
         }
         if ("1".equals(checkStrongPwd(user.getPassword()))) {
@@ -78,19 +83,47 @@ public class IndexController extends BaseController {
         user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
         return toAjax(userService.resetPwdAPP(user));
     }
+
     /**
-     * 修改用户手机号
+     * app修改用户手机号
      */
     @PostMapping("/updatePhone")
-    public AjaxResult updatePhone(@RequestBody SysUser user)
-    {
+    public AjaxResult updatePhone(@RequestBody SysUser user) {
 
         if (StringUtils.isNotEmpty(user.getPhonenumber())
-                && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
-        {
+                && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
             return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
         }
         user.setUpdateBy(getUsername());
         return toAjax(userService.updateUser(user));
     }
+
+    /**
+     * 后台管理首页统计
+     *
+     * @param kaoQinRecord
+     * @return
+     */
+    @PostMapping("/backstage")
+    public AjaxResult backstage(@RequestBody KaoqinRecord kaoQinRecord) {
+        //查询该部门所有人员
+        Integer total = userService.selectUserCount(kaoQinRecord);
+        //查询打卡人员
+        List<KaoqinRecord> kaoqinRecords = kaoqinRecordService.selectKaoqinRecordList(kaoQinRecord);
+        int daKaNum = 0;
+        if (kaoqinRecords != null) {
+            daKaNum = kaoqinRecords.size();
+        }
+        int weidaka = 0;
+        if (total > 0) {
+            weidaka = total - daKaNum;
+        }
+        if (weidaka < 0) {
+            weidaka = 0;
+        }
+        Map map = new HashMap(2);
+        map.put("weidaka", weidaka);
+        map.put("yidaka", daKaNum);
+        return AjaxResult.success(map);
+    }
 }

+ 3 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java

@@ -1,6 +1,8 @@
 package com.ruoyi.system.mapper;
 
 import java.util.List;
+
+import com.ruoyi.system.domain.KaoqinRecord;
 import org.apache.ibatis.annotations.Param;
 import com.ruoyi.common.core.domain.entity.SysUser;
 
@@ -18,6 +20,7 @@ public interface SysUserMapper
      * @return 用户信息集合信息
      */
     public List<SysUser> selectUserList(SysUser sysUser);
+    public Integer selectUserCount(KaoqinRecord kaoQinRecord);
 
     /**
      * 根据条件分页查询已配用户角色列表

+ 8 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java

@@ -4,6 +4,7 @@ import java.util.List;
 
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.system.domain.KaoqinRecord;
 
 /**
  * 用户 业务层
@@ -20,6 +21,13 @@ public interface ISysUserService
      */
     public List<SysUser> selectUserList(SysUser user);
 
+    /**
+     * 查询所有人员数量
+     * @param kaoQinRecord
+     * @return
+     */
+    public Integer selectUserCount(KaoqinRecord kaoQinRecord);
+
     /**
      * 根据条件分页查询已分配用户角色列表
      * 

+ 11 - 4
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

@@ -6,7 +6,7 @@ import javax.validation.Validator;
 
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysDept;
-import com.ruoyi.system.domain.RecordInfo;
+import com.ruoyi.system.domain.*;
 import com.ruoyi.system.mapper.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -23,9 +23,6 @@ import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.bean.BeanValidators;
 import com.ruoyi.common.utils.spring.SpringUtils;
-import com.ruoyi.system.domain.SysPost;
-import com.ruoyi.system.domain.SysUserPost;
-import com.ruoyi.system.domain.SysUserRole;
 import com.ruoyi.system.service.ISysConfigService;
 import com.ruoyi.system.service.ISysUserService;
 
@@ -79,6 +76,16 @@ public class SysUserServiceImpl implements ISysUserService
         return userMapper.selectUserList(user);
     }
 
+    /**
+     * 查询所有人员数量
+     * @param kaoQinRecord
+     * @return
+     */
+    @Override
+    public Integer selectUserCount(KaoqinRecord kaoQinRecord) {
+        return userMapper.selectUserCount(kaoQinRecord);
+    }
+
     /**
      * 根据条件分页查询已分配用户角色列表
      * 

+ 4 - 1
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -276,5 +276,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		where u.del_flag = '0'
 		  and u.dept_id !=0 and u.dept_id !='' and u.dept_id is not null
 	</select>
-	
+	<select id="selectUserCount" parameterType="kaoqinRecord" resultType="java.lang.Integer">
+		select ifnull(count(1),0) from sys_user where del_flag = '0' and status = '0' and find_in_set(dept_id, #{ancestors})
+	</select>
+
 </mapper>