浏览代码

生物防控人员

523096025 1 年之前
父节点
当前提交
4ad115faff
共有 17 个文件被更改,包括 297 次插入18 次删除
  1. 1 1
      huimv-receive/src/main/java/com/huimv/receive/common/token/TokenSign.java
  2. 20 0
      huimv-receive/src/main/java/com/huimv/receive/controller/BaseDeviceController.java
  3. 26 8
      huimv-receive/src/main/java/com/huimv/receive/controller/SysUserController.java
  4. 72 0
      huimv-receive/src/main/java/com/huimv/receive/entity/BaseDevice.java
  5. 1 1
      huimv-receive/src/main/java/com/huimv/receive/entity/SysUser.java
  6. 12 0
      huimv-receive/src/main/java/com/huimv/receive/entity/vo/UserAgeAndGender.java
  7. 11 0
      huimv-receive/src/main/java/com/huimv/receive/entity/vo/UserJob.java
  8. 16 0
      huimv-receive/src/main/java/com/huimv/receive/mapper/BaseDeviceMapper.java
  9. 8 0
      huimv-receive/src/main/java/com/huimv/receive/mapper/SysUserMapper.java
  10. 16 0
      huimv-receive/src/main/java/com/huimv/receive/service/IBaseDeviceService.java
  11. 6 0
      huimv-receive/src/main/java/com/huimv/receive/service/ISysUserService.java
  12. 20 0
      huimv-receive/src/main/java/com/huimv/receive/service/impl/BaseDeviceServiceImpl.java
  13. 1 1
      huimv-receive/src/main/java/com/huimv/receive/service/impl/SysAccountMultilevelServiceImpl.java
  14. 31 6
      huimv-receive/src/main/java/com/huimv/receive/service/impl/SysUserServiceImpl.java
  15. 2 1
      huimv-receive/src/main/java/com/huimv/receive/timer/SafeTimer.java
  16. 18 0
      huimv-receive/src/main/resources/mapper/BaseDeviceMapper.xml
  17. 36 0
      huimv-receive/src/main/resources/mapper/SysUserMapper.xml

+ 1 - 1
huimv-receive/src/main/java/com/huimv/receive/common/token/TokenSign.java

@@ -27,7 +27,7 @@ public class TokenSign {
      *
      * @return
      */
-    public static String sign(String userName, Integer id, String farmIds, String workId,Integer userType) {
+    public static String sign(String userName, Integer id, String farmIds, Integer workId,Integer userType) {
 
         String JwtToken = Jwts.builder()
                 //头部信息

+ 20 - 0
huimv-receive/src/main/java/com/huimv/receive/controller/BaseDeviceController.java

@@ -0,0 +1,20 @@
+package com.huimv.receive.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2023-09-04
+ */
+@RestController
+@RequestMapping("/base-device")
+public class BaseDeviceController {
+
+}

+ 26 - 8
huimv-receive/src/main/java/com/huimv/receive/controller/SysUserController.java

@@ -39,14 +39,14 @@ public class SysUserController {
     private ISysAccountMultilevelService accountMultilevelService;
 
 
-    @PostMapping("/list")
-    public JSONObject listUser(@RequestBody Map map) {
-        System.out.println();
-        int pageNum = (Integer)map.get("pageNum");
-        int pageSize = (Integer)map.get("pageSize");
-        String searchStr = (String)map.get("searchStr");
-        return iUserService.findUserAccount(searchStr,pageNum,pageSize);
-    }
+//    @PostMapping("/list")
+//    public JSONObject listUser(@RequestBody Map map) {
+//        System.out.println();
+//        int pageNum = (Integer)map.get("pageNum");
+//        int pageSize = (Integer)map.get("pageSize");
+//        String searchStr = (String)map.get("searchStr");
+//        return iUserService.findUserAccount(searchStr,pageNum,pageSize);
+//    }
     //员工分页查询
     @PostMapping("/page")
     public Result page(@RequestBody Map map) {
@@ -149,5 +149,23 @@ public class SysUserController {
         return  sysUserService.updateAccount(map);
     }
 
+    //账号删除
+    @PostMapping("/removeAccount")
+    @Transactional
+    public Result removeAccount(@RequestBody Map<String,String> map) {
+        return  sysUserService.removeAccount(map);
+    }
+
+    //性别年龄分布
+    @PostMapping("/userAgeAndGender")
+    public Result userAgeAndGender(@RequestBody Map<String,String> map) {
+        return  sysUserService.userAgeAndGender(map);
+    }
+
+    //岗位分布
+    @PostMapping("/userJob")
+    public Result userJob(@RequestBody Map<String,String> map) {
+        return  sysUserService.userJob(map);
+    }
 
 }

+ 72 - 0
huimv-receive/src/main/java/com/huimv/receive/entity/BaseDevice.java

@@ -0,0 +1,72 @@
+package com.huimv.receive.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author author
+ * @since 2023-09-04
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("base_device")
+public class BaseDevice implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备名字
+     */
+    private String deviceName;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 0在线 1离线
+     */
+    private Integer deviceStatus;
+
+    /**
+     * 位置名称
+     */
+    private String workLocation;
+
+    /**
+     * 位置类型
+     */
+    private Integer workLocationType;
+
+    /**
+     * 用户姓名
+     */
+    private String userName;
+
+    /**
+     * 用户id
+     */
+    private Integer sysUserId;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+
+}

+ 1 - 1
huimv-receive/src/main/java/com/huimv/receive/entity/SysUser.java

@@ -44,7 +44,7 @@ public class SysUser implements Serializable {
     /**
      * 0 男  1女
      */
-    private Integer male;
+    private Integer gender;
 
     /**
      * 民族

+ 12 - 0
huimv-receive/src/main/java/com/huimv/receive/entity/vo/UserAgeAndGender.java

@@ -0,0 +1,12 @@
+package com.huimv.receive.entity.vo;
+
+import lombok.Data;
+
+@Data
+public class UserAgeAndGender {
+
+   private String  ageRange;
+   private Integer  maleCount;
+   private Integer  femaleCount;
+   private Integer  totalCount;
+}

+ 11 - 0
huimv-receive/src/main/java/com/huimv/receive/entity/vo/UserJob.java

@@ -0,0 +1,11 @@
+package com.huimv.receive.entity.vo;
+
+import lombok.Data;
+
+@Data
+public class UserJob {
+    private Integer  clean;
+    private Integer  pcr;
+    private Integer  safe;
+    private Integer  factory;
+}

+ 16 - 0
huimv-receive/src/main/java/com/huimv/receive/mapper/BaseDeviceMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.receive.mapper;
+
+import com.huimv.receive.entity.BaseDevice;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2023-09-04
+ */
+public interface BaseDeviceMapper extends BaseMapper<BaseDevice> {
+
+}

+ 8 - 0
huimv-receive/src/main/java/com/huimv/receive/mapper/SysUserMapper.java

@@ -7,8 +7,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huimv.receive.entity.SysUser;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huimv.receive.entity.vo.UserAccountVo;
+import com.huimv.receive.entity.vo.UserAgeAndGender;
+import com.huimv.receive.entity.vo.UserJob;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  *  Mapper 接口
@@ -20,4 +24,8 @@ import org.apache.ibatis.annotations.Param;
 public interface SysUserMapper extends BaseMapper<SysUser> {
 
     IPage<UserAccountVo> pageAccount(Page<UserAccountVo> userAccountVoPage,@Param(Constants.WRAPPER)QueryWrapper<SysUser> wrapper,String farmId);
+
+    List<UserAgeAndGender> userAgeAndGender(@Param("farmId")String farmId);
+
+    List<UserJob> userJob(@Param("farmId")String farmId);
 }

+ 16 - 0
huimv-receive/src/main/java/com/huimv/receive/service/IBaseDeviceService.java

@@ -0,0 +1,16 @@
+package com.huimv.receive.service;
+
+import com.huimv.receive.entity.BaseDevice;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author author
+ * @since 2023-09-04
+ */
+public interface IBaseDeviceService extends IService<BaseDevice> {
+
+}

+ 6 - 0
huimv-receive/src/main/java/com/huimv/receive/service/ISysUserService.java

@@ -28,4 +28,10 @@ public interface ISysUserService extends IService<SysUser> {
     Result list(Map map);
 
     Result updateAccount(Map<String, Object> map);
+
+    Result removeAccount(Map<String, String> map);
+
+    Result userAgeAndGender(Map<String, String> map);
+
+    Result userJob(Map<String, String> map);
 }

+ 20 - 0
huimv-receive/src/main/java/com/huimv/receive/service/impl/BaseDeviceServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.receive.service.impl;
+
+import com.huimv.receive.entity.BaseDevice;
+import com.huimv.receive.mapper.BaseDeviceMapper;
+import com.huimv.receive.service.IBaseDeviceService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2023-09-04
+ */
+@Service
+public class BaseDeviceServiceImpl extends ServiceImpl<BaseDeviceMapper, BaseDevice> implements IBaseDeviceService {
+
+}

+ 1 - 1
huimv-receive/src/main/java/com/huimv/receive/service/impl/SysAccountMultilevelServiceImpl.java

@@ -160,7 +160,7 @@ public class SysAccountMultilevelServiceImpl extends ServiceImpl<SysAccountMulti
             sysAccountMultilevel.setWorkLocation(workLocation);
         }
         if (ObjectUtil.isNotEmpty(workLocationId)){
-            sysAccountMultilevel.setWorkLocationType(workLocationId);
+            sysAccountMultilevel.setWorkLocationType(Integer.parseInt(workLocationId));
         }
         if (ObjectUtil.isNotEmpty(workName)){
             sysAccountMultilevel.setWorkName(workName);

+ 31 - 6
huimv-receive/src/main/java/com/huimv/receive/service/impl/SysUserServiceImpl.java

@@ -1,12 +1,10 @@
 package com.huimv.receive.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.baomidou.mybatisplus.extension.api.R;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huimv.receive.common.utils.Result;
 import com.huimv.receive.common.utils.ResultCode;
@@ -15,18 +13,18 @@ import com.huimv.receive.entity.Farm;
 import com.huimv.receive.entity.SysAccountMultilevel;
 import com.huimv.receive.entity.SysUser;
 import com.huimv.receive.entity.vo.UserAccountVo;
+import com.huimv.receive.entity.vo.UserAgeAndGender;
+import com.huimv.receive.entity.vo.UserJob;
 import com.huimv.receive.mapper.BaseLocationMapper;
 import com.huimv.receive.mapper.FarmMapper;
 import com.huimv.receive.mapper.SysAccountMultilevelMapper;
 import com.huimv.receive.mapper.SysUserMapper;
-import com.huimv.receive.service.IBaseLocationService;
-import com.huimv.receive.service.IFarmService;
 import com.huimv.receive.service.ISysUserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.aspectj.weaver.ast.Var;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -166,7 +164,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         String password = (String)map.get("password");
         Integer countAccount = sysAccountMultilevelMapper.selectCount(new QueryWrapper<SysAccountMultilevel>().eq("account",account));
         if (countAccount >1){
-            return new Result(10001,"账号已存在",false);
+            return new Result(10001,"账号已存在",false);
         }
         SysAccountMultilevel sysAccountMultilevel = new SysAccountMultilevel();
         sysAccountMultilevel.setAccount(account);
@@ -175,6 +173,33 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         return new Result(10000,"修改成功",true);
     }
 
+    @Override
+    public Result removeAccount(Map<String, String> map) {
+        String ids = map.get("ids");
+        sysAccountMultilevelMapper.delete(new QueryWrapper<SysAccountMultilevel>().eq("user_id",ids.split(",")));
+        return new Result(10000,"删除成功",true);
+
+    }
+
+    @Override
+    public Result userAgeAndGender(Map<String, String> map) {
+        String farmId = map.get("farmId");
+        if (checkFarm(farmId))
+            return new Result(10001,"牧场信息为空",false);
+        List<UserAgeAndGender>  userAgeAndGenders=  userMapper.userAgeAndGender(farmId);
+        return new Result(ResultCode.SUCCESS,userAgeAndGenders);
+    }
+
+    @Override
+    public Result userJob(Map<String, String> map) {
+        String farmId = map.get("farmId");
+        if (checkFarm(farmId))
+            return new Result(10001,"牧场信息为空",false);
+        List<UserJob>  userJobs=  userMapper.userJob(farmId);
+        return new Result(ResultCode.SUCCESS,userJobs);
+
+    }
+
     private boolean checkFarm(String farmId){
         if (StringUtils.isBlank(farmId) )
             return true;

+ 2 - 1
huimv-receive/src/main/java/com/huimv/receive/timer/SafeTimer.java

@@ -76,7 +76,8 @@ public class SafeTimer {
     //计算年龄
     @Scheduled(cron = "0 0 0 * * ? ")
     private void getAge()   {
-        List<SysUser> sysUsers = sysUserService.list(null);
+        System.out.println("开始");
+        List<SysUser> sysUsers = sysUserService.list();
         for (SysUser sysUser : sysUsers) {
             int i = DateUtil.ageOfNow(sysUser.getBirthday());
             if (i !=sysUser.getAge() ){

+ 18 - 0
huimv-receive/src/main/resources/mapper/BaseDeviceMapper.xml

@@ -0,0 +1,18 @@
+<?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.huimv.receive.mapper.BaseDeviceMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.receive.entity.BaseDevice">
+        <id column="id" property="id" />
+        <result column="device_name" property="deviceName" />
+        <result column="device_code" property="deviceCode" />
+        <result column="device_status" property="deviceStatus" />
+        <result column="work_location" property="workLocation" />
+        <result column="work_location_type" property="workLocationType" />
+        <result column="user_name" property="userName" />
+        <result column="sys_user_id" property="sysUserId" />
+        <result column="create_time" property="createTime" />
+    </resultMap>
+
+</mapper>

+ 36 - 0
huimv-receive/src/main/resources/mapper/SysUserMapper.xml

@@ -39,5 +39,41 @@ FROM `sys_user`
    ${ew.customSqlSegment} AND`sys_account_multilevel`.farm_id = #{farmId}  and  `sys_account_multilevel`.user_id  IS NOT NULL
  ORDER  BY sys_account_multilevel.id DESC
     </select>
+    <select id="userAgeAndGender" resultType="com.huimv.receive.entity.vo.UserAgeAndGender">
+
+SELECT ar.`age_range` ,IFNULL(a.male_count,0) male_count ,IFNULL(a.female_count ,0) female_count,IFNULL(a.total_count,0) total_count FROM `age_ranges` ar LEFT JOIN
+(SELECT
+    age_range,
+    SUM(CASE WHEN gender = 0 THEN 1 ELSE 0 END) AS male_count,
+    SUM(CASE WHEN gender = 1 THEN 1 ELSE 0 END) AS female_count,
+    COUNT(*) AS total_count
+FROM (
+    SELECT
+        CASE
+	        WHEN age BETWEEN 18 AND 30 THEN '18-30'
+            WHEN age BETWEEN 30 AND 40 THEN '30-40'
+            WHEN age BETWEEN 40 AND 50 THEN '40-50'
+            WHEN age BETWEEN 50 AND 60 THEN '50-60'
+            WHEN age >= 60  THEN '60+'
+        END AS age_range,
+        gender
+    FROM `sys_user`  WHERE farm_id= #{farmId}
+) AS age_gender
+GROUP BY age_range
+) a ON ar.age_range = a.age_range  ORDER BY ar.`age_range`
+    </select>
+
+    <select id="userJob" resultType="com.huimv.receive.entity.vo.UserJob">
+
+     SELECT
+        SUM(CASE WHEN job = 5 THEN 1 ELSE 0 END) AS clean,
+        SUM(CASE WHEN job = 4 THEN 1 ELSE 0 END) AS pcr,
+        SUM(CASE WHEN job = 3 THEN 1 ELSE 0 END) AS safe,
+        SUM(CASE WHEN job = 1 THEN 1 ELSE 0 END) AS factory
+    FROM
+       `sys_user`
+       WHERE farm_id = #{farmId}
+
+    </select>
 
 </mapper>