瀏覽代碼

后台管理

wwh 1 年之前
父節點
當前提交
bf843dcea1
共有 21 個文件被更改,包括 524 次插入147 次删除
  1. 94 13
      huimv-receive/src/main/java/com/huimv/receive/common/utils/Print.java
  2. 28 26
      huimv-receive/src/main/java/com/huimv/receive/config/InterceptorConfig.java
  3. 82 82
      huimv-receive/src/main/java/com/huimv/receive/config/JWTInterceptor.java
  4. 24 5
      huimv-receive/src/main/java/com/huimv/receive/controller/BaseDeviceController.java
  5. 1 1
      huimv-receive/src/main/java/com/huimv/receive/controller/BillCleanController.java
  6. 1 1
      huimv-receive/src/main/java/com/huimv/receive/controller/BillIsolateController.java
  7. 1 1
      huimv-receive/src/main/java/com/huimv/receive/controller/BillLuggageController.java
  8. 1 1
      huimv-receive/src/main/java/com/huimv/receive/controller/BillPcrController.java
  9. 12 0
      huimv-receive/src/main/java/com/huimv/receive/controller/SysAccountMultilevelController.java
  10. 11 8
      huimv-receive/src/main/java/com/huimv/receive/controller/SysUserController.java
  11. 43 0
      huimv-receive/src/main/java/com/huimv/receive/entity/vo/AccountVo.java
  12. 12 0
      huimv-receive/src/main/java/com/huimv/receive/entity/vo/DeviceVo.java
  13. 56 0
      huimv-receive/src/main/java/com/huimv/receive/entity/vo/SysUserVo.java
  14. 9 0
      huimv-receive/src/main/java/com/huimv/receive/service/IBaseDeviceService.java
  15. 3 0
      huimv-receive/src/main/java/com/huimv/receive/service/ISysAccountMultilevelService.java
  16. 4 0
      huimv-receive/src/main/java/com/huimv/receive/service/ISysUserService.java
  17. 75 0
      huimv-receive/src/main/java/com/huimv/receive/service/impl/BaseDeviceServiceImpl.java
  18. 2 2
      huimv-receive/src/main/java/com/huimv/receive/service/impl/BillIsolateServiceImpl.java
  19. 2 2
      huimv-receive/src/main/java/com/huimv/receive/service/impl/BillLuggageServiceImpl.java
  20. 40 0
      huimv-receive/src/main/java/com/huimv/receive/service/impl/SysAccountMultilevelServiceImpl.java
  21. 23 5
      huimv-receive/src/main/java/com/huimv/receive/service/impl/SysUserServiceImpl.java

+ 94 - 13
huimv-receive/src/main/java/com/huimv/receive/common/utils/Print.java

@@ -5,6 +5,9 @@ import com.huimv.receive.entity.*;
 import com.huimv.receive.entity.dto.PrintAdmissionDto;
 import com.huimv.receive.entity.dto.PrintIsolateDto;
 import com.huimv.receive.entity.dto.PrintLuggageDto;
+import com.huimv.receive.entity.vo.AccountVo;
+import com.huimv.receive.entity.vo.DeviceVo;
+import com.huimv.receive.entity.vo.SysUserVo;
 import org.jxls.util.JxlsHelper;
 import org.jxls.common.Context;
 
@@ -79,9 +82,9 @@ public class Print {
     public static void printIsolate(List<BillIsolate> isolateList) throws Exception {
 
         //准备数据
-        String path = "G://isolate.xls";
+        String path = "/opt/huatong/isolate.xls";
         //获取模板文件,你自己当前模板的位置  我这里为当前项目下
-        InputStream is = new FileInputStream("G://isolate.xlsx");
+        InputStream is = new FileInputStream("/opt/huatong/isolate.xlsx");
         //根据模板生成的文件保存路径  我这里保存在本地D盘
         OutputStream os = new FileOutputStream(path);
         //绑定数据
@@ -96,7 +99,7 @@ public class Print {
                 dto.setStatus("待隔离");
             } else if (billIsolate.getBillStatus() == 1) {
                 dto.setStatus("隔离中");
-            } else if (billIsolate.getBillStatus()==2) {
+            } else if (billIsolate.getBillStatus() == 2) {
                 dto.setStatus("已完成");
             } else if (billIsolate.getBillStatus() == 3) {
                 dto.setStatus("提前解除");
@@ -116,9 +119,9 @@ public class Print {
     public static void printPcr(List<BillPcr> admissionList) throws Exception {
 
         //准备数据
-        String path = "G://pcr.xls";
+        String path = "/opt/huatong/pcr.xls";
         //获取模板文件,你自己当前模板的位置  我这里为当前项目下
-        InputStream is = new FileInputStream("G://pcr.xlsx");
+        InputStream is = new FileInputStream("/opt/huatong/pcr.xlsx");
         //根据模板生成的文件保存路径  我这里保存在本地D盘
         OutputStream os = new FileOutputStream(path);
         //绑定数据
@@ -140,8 +143,7 @@ public class Print {
                 dto.setBillStatus("合格");
             } else if (admission.getBillStatus() == 2) {
                 dto.setBillStatus("异常");
-            }
-            else if (admission.getBillStatus() == 3) {
+            } else if (admission.getBillStatus() == 3) {
                 dto.setBillStatus("失效");
             }
 
@@ -168,9 +170,9 @@ public class Print {
     public static void printClean(List<BillClean> admissionList) throws Exception {
 
         //准备数据
-        String path = "G://clean.xls";
+        String path = "/opt/huatong/clean.xls";
         //获取模板文件,你自己当前模板的位置  我这里为当前项目下
-        InputStream is = new FileInputStream("G://clean.xlsx");
+        InputStream is = new FileInputStream("/opt/huatong/clean.xlsx");
         //根据模板生成的文件保存路径  我这里保存在本地D盘
         OutputStream os = new FileOutputStream(path);
         //绑定数据
@@ -192,8 +194,7 @@ public class Print {
                 dto.setBillStatus("合格");
             } else if (admission.getBillStatus() == 2) {
                 dto.setBillStatus("异常");
-            }
-            else if (admission.getBillStatus() == 3) {
+            } else if (admission.getBillStatus() == 3) {
                 dto.setBillStatus("失效");
             }
 
@@ -220,9 +221,9 @@ public class Print {
     public static void printLuggage(List<BillLuggage> admissionList) throws Exception {
 
         //准备数据
-        String path = "G://luggage.xls";
+        String path = "/opt/huatong/luggage.xls";
         //获取模板文件,你自己当前模板的位置  我这里为当前项目下
-        InputStream is = new FileInputStream("G://luggage.xlsx");
+        InputStream is = new FileInputStream("/opt/huatong/luggage.xlsx");
         //根据模板生成的文件保存路径  我这里保存在本地D盘
         OutputStream os = new FileOutputStream(path);
         //绑定数据
@@ -244,4 +245,84 @@ public class Print {
         JxlsHelper.getInstance().processTemplate(is, os, context);
     }
 
+    public static void printUser(List<SysUser> users) throws Exception {
+
+        //准备数据
+        String path = "/opt/huatong/user.xls";
+        //获取模板文件,你自己当前模板的位置  我这里为当前项目下
+        InputStream is = new FileInputStream("/opt/huatong/user.xlsx");
+        //根据模板生成的文件保存路径  我这里保存在本地D盘
+        OutputStream os = new FileOutputStream(path);
+        //绑定数据
+        Context context = new Context();
+        List<SysUserVo> list = new ArrayList<>();
+        for (SysUser user : users) {
+            SysUserVo userVo = new SysUserVo();
+            userVo.setPhone(user.getUserPhone());
+            userVo.setUserName(user.getUserName());
+            userVo.setUserNum(user.getUserId());
+            if (user.getJob() == 1) {
+                userVo.setWorkName("场长");
+            } else if (user.getJob() == 3) {
+                userVo.setWorkName("生物安全负责人");
+            } else if (user.getJob() == 4) {
+                userVo.setWorkName("pcr检测人员");
+            } else if (user.getJob() == 5) {
+                userVo.setWorkName("洗消点工作人员");
+            }
+            userVo.setWorkLocation(user.getWorkLocation());
+            list.add(userVo);
+        }
+
+        context.putVar("list", list);
+        //生成
+        JxlsHelper.getInstance().processTemplate(is, os, context);
+    }
+
+    public static void printAccount(List<AccountVo> accountVos) throws Exception {
+
+        //准备数据
+        String path = "/opt/huatong/account.xls";
+        //获取模板文件,你自己当前模板的位置  我这里为当前项目下
+        InputStream is = new FileInputStream("/opt/huatong/account.xlsx");
+        //根据模板生成的文件保存路径  我这里保存在本地D盘
+        OutputStream os = new FileOutputStream(path);
+        //绑定数据
+        Context context = new Context();
+
+        context.putVar("list", accountVos);
+        //生成
+        JxlsHelper.getInstance().processTemplate(is, os, context);
+    }
+
+    public static void printDevice(List<BaseDevice> devices) throws Exception {
+
+        //准备数据
+        String path = "/opt/huatong/device.xls";
+        //获取模板文件,你自己当前模板的位置  我这里为当前项目下
+        InputStream is = new FileInputStream("/opt/huatong/device.xlsx");
+        //根据模板生成的文件保存路径  我这里保存在本地D盘
+        OutputStream os = new FileOutputStream(path);
+        //绑定数据
+        Context context = new Context();
+        List<DeviceVo> deviceVos = new ArrayList<>();
+
+        for (BaseDevice device : devices) {
+            DeviceVo deviceVo = new DeviceVo();
+            deviceVo.setDeviceName(device.getDeviceName());
+            deviceVo.setDeviceNum(device.getDeviceCode());
+            deviceVo.setLocation(device.getWorkLocation());
+            deviceVo.setUserName(device.getUserName());
+            if (device.getDeviceStatus() == 0) {
+                deviceVo.setStatus("离线");
+            } else {
+                deviceVo.setStatus("在线");
+            }
+            deviceVos.add(deviceVo);
+        }
+        context.putVar("list", deviceVos);
+        //生成
+        JxlsHelper.getInstance().processTemplate(is, os, context);
+    }
+
 }

+ 28 - 26
huimv-receive/src/main/java/com/huimv/receive/config/InterceptorConfig.java

@@ -1,26 +1,28 @@
-//package com.huimv.receive.config;
-//
-//import org.springframework.context.annotation.Bean;
-//import org.springframework.context.annotation.Configuration;
-//import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-//import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-//
-///**
-// * @Description: 注册验证tocken的拦截器
-// * @Author
-// * @Date 2021/4/19 20:41
-// * @Version V1.0
-// */
-//@Configuration
-//public class InterceptorConfig implements WebMvcConfigurer {
-//    @Bean
-//    public JWTInterceptor jwtInterceptor(){
-//        return new JWTInterceptor();
-//    }
-//
-//    @Override
-//    public void addInterceptors(InterceptorRegistry registry) {
-//        registry.addInterceptor(jwtInterceptor()).
-//                excludePathPatterns("/secureApi/admin/my/**");
-//    }
-//}
+
+package com.huimv.receive.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ * @Description: 注册验证tocken的拦截器
+ * @Author
+ * @Date 2021/4/19 20:41
+ * @Version V1.0
+ */
+@Configuration
+public class InterceptorConfig implements WebMvcConfigurer {
+    @Bean
+    public JWTInterceptor jwtInterceptor(){
+        return new JWTInterceptor();
+    }
+
+    @Override
+    public void addInterceptors(InterceptorRegistry registry) {
+        registry.addInterceptor(jwtInterceptor()).
+                excludePathPatterns("/secureApi/admin/my/*")
+                .excludePathPatterns("/secureApi/receive/feed","/secureApi/bill-personnel-admission/printAdmission");
+    }
+}

+ 82 - 82
huimv-receive/src/main/java/com/huimv/receive/config/JWTInterceptor.java

@@ -1,82 +1,82 @@
-//package com.huimv.receive.config;
-//
-//import com.alibaba.fastjson.JSONObject;
-//import com.huimv.receive.common.token.TokenConstant;
-//import com.huimv.receive.common.token.TokenSign;
-//import io.jsonwebtoken.Claims;
-//import org.springframework.web.method.HandlerMethod;
-//import org.springframework.web.servlet.HandlerInterceptor;
-//import org.springframework.web.servlet.ModelAndView;
-//
-//import javax.servlet.http.HttpServletRequest;
-//import javax.servlet.http.HttpServletResponse;
-//import java.util.HashMap;
-//import java.util.Map;
-//
-///**
-// * <p>
-// * jwt拦截器
-// * </p>
-// *
-// * @since 2021/4/19
-// */
-//public class JWTInterceptor implements HandlerInterceptor {
-//
-//
-//    @Override
-//    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
-//        // 如果不是映射到方法,则直接通过
-//        if (!(handler instanceof HandlerMethod)) {
-//            return true;
-//        }
-//
-//        response.setContentType("application/json;charset=utf-8");
-//        // 获取token
-//        String token = request.getHeader("accessToken");
-//
-//
-//        if (null == token) {
-//            Map<String, Object> map = new HashMap<>();
-//            map.put("data", "token is null");
-//            map.put("code", "401");
-//            response.setStatus(401);
-//            response.getWriter().write(JSONObject.toJSONString(map));
-//            return false;
-//        } else {
-//            Claims claims = TokenSign.getClaims(token);
-//            if (claims == null) {
-//                Map<String, Object> map = new HashMap<>();
-//                map.put("data", "token is overdue");
-//                map.put("code", "403");
-//                response.setStatus(403);
-//                response.getWriter().write(JSONObject.toJSONString(map));
-//                return false;
-//            }
-//
-//            boolean result = TokenSign.verify(token);
-//            if (result) {
-//                //更新存储的token信息
-//                TokenConstant.updateTokenMap(token);
-//                return true;
-//            }
-//            Map<String, Object> map = new HashMap<>();
-//            map.put("data", "token is null");
-//            map.put("code", "401");
-//            response.setStatus(401);
-//            response.getWriter().write(JSONObject.toJSONString(map));
-//            return false;
-//
-//        }
-//    }
-//
-//
-//    @Override
-//    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
-//
-//    }
-//
-//    @Override
-//    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
-//
-//    }
-//}
+package com.huimv.receive.config;
+
+import com.alibaba.fastjson.JSONObject;
+import com.huimv.receive.common.token.TokenConstant;
+import com.huimv.receive.common.token.TokenSign;
+import io.jsonwebtoken.Claims;
+import org.springframework.web.method.HandlerMethod;
+import org.springframework.web.servlet.HandlerInterceptor;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * <p>
+ * jwt拦截器
+ * </p>
+ *
+ * @since 2021/4/19
+ */
+public class JWTInterceptor implements HandlerInterceptor {
+
+
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+        // 如果不是映射到方法,则直接通过
+        if (!(handler instanceof HandlerMethod)) {
+            return true;
+        }
+
+        response.setContentType("application/json;charset=utf-8");
+        // 获取token
+        String token = request.getHeader("accessToken");
+
+
+        if (null == token) {
+            Map<String, Object> map = new HashMap<>();
+            map.put("data", "token is null");
+            map.put("code", "401");
+            response.setStatus(401);
+            response.getWriter().write(JSONObject.toJSONString(map));
+            return false;
+        } else {
+            Claims claims = TokenSign.getClaims(token);
+            if (claims == null) {
+                Map<String, Object> map = new HashMap<>();
+                map.put("data", "token is overdue");
+                map.put("code", "403");
+                response.setStatus(403);
+                response.getWriter().write(JSONObject.toJSONString(map));
+                return false;
+            }
+
+            boolean result = TokenSign.verify(token);
+            if (result) {
+                //更新存储的token信息
+                TokenConstant.updateTokenMap(token);
+                return true;
+            }
+            Map<String, Object> map = new HashMap<>();
+            map.put("data", "token is null");
+            map.put("code", "401");
+            response.setStatus(401);
+            response.getWriter().write(JSONObject.toJSONString(map));
+            return false;
+
+        }
+    }
+
+
+    @Override
+    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
+
+    }
+
+    @Override
+    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
+
+    }
+}

+ 24 - 5
huimv-receive/src/main/java/com/huimv/receive/controller/BaseDeviceController.java

@@ -2,6 +2,7 @@ package com.huimv.receive.controller;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.receive.common.utils.PdfUtil;
 import com.huimv.receive.common.utils.Result;
 import com.huimv.receive.common.utils.ResultCode;
 import com.huimv.receive.entity.BaseDevice;
@@ -9,11 +10,12 @@ import com.huimv.receive.entity.BaseLocation;
 import com.huimv.receive.service.IBaseDeviceService;
 import com.huimv.receive.service.IBaseLocationService;
 import org.springframework.beans.factory.annotation.Autowired;
-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.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
+import java.util.Map;
 
 import java.util.Map;
 
@@ -26,7 +28,8 @@ import java.util.Map;
  * @since 2023-09-04
  */
 @RestController
-@RequestMapping("/baseDevice")
+@RequestMapping("/base-device")
+@CrossOrigin
 public class BaseDeviceController {
     @Autowired
     private IBaseDeviceService baseDeviceService;
@@ -43,4 +46,20 @@ public class BaseDeviceController {
     }
 
 
+    @Autowired
+    private IBaseDeviceService deviceService;
+    @GetMapping("/printDevice")
+    public void printDevice(HttpServletResponse response, @RequestParam(name = "ids") String ids) throws Exception {
+        Map<String, String> map = new HashMap<>();
+        map.put("ids", ids);
+        deviceService.printDevice(response, map);
+        String path = "/opt/huatong/device.xls";
+        PdfUtil.returnPdfStream3(response, path, "设备列表");
+    }
+
+    @PostMapping("/listSelect")
+    public Result listSelect(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return deviceService.listSelect(httpServletRequest, paramsMap);
+    }
+
 }

+ 1 - 1
huimv-receive/src/main/java/com/huimv/receive/controller/BillCleanController.java

@@ -150,7 +150,7 @@ public class BillCleanController {
         Map<String, String> map = new HashMap<>();
         map.put("ids", ids);
         billCleanService.printClean(response, map);
-        String path = "G://clean.xls";
+        String path = "/opt/huatong/clean.xls";
         PdfUtil.returnPdfStream3(response, path, "洗消详情列表");
     }
     @PostMapping("/delete")

+ 1 - 1
huimv-receive/src/main/java/com/huimv/receive/controller/BillIsolateController.java

@@ -64,7 +64,7 @@ public class BillIsolateController {
         Map<String, String> map = new HashMap<>();
         map.put("ids", ids);
         billIsolateService.printIsolate(response, map);
-        String path = "G://admission.xls";
+        String path = "/opt/huatong/admission.xls";
         PdfUtil.returnPdfStream3(response, path, "隔离详情列表");
     }
 

+ 1 - 1
huimv-receive/src/main/java/com/huimv/receive/controller/BillLuggageController.java

@@ -78,7 +78,7 @@ public class BillLuggageController {
         Map<String, String> map = new HashMap<>();
         map.put("ids", ids);
         billLuggageService.printLuggage(response, map);
-        String path = "G://luggage.xls";
+        String path = "/opt/huatong/luggage.xls";
         PdfUtil.returnPdfStream3(response, path, "行李详情列表");
     }
 }

+ 1 - 1
huimv-receive/src/main/java/com/huimv/receive/controller/BillPcrController.java

@@ -92,7 +92,7 @@ public class BillPcrController {
         Map<String, String> map = new HashMap<>();
         map.put("ids", ids);
         billPcrService.printPcr(response, map);
-        String path = "G://pcr.xls";
+        String path = "/opt/huatong/pcr.xls";
         PdfUtil.returnPdfStream3(response, path, "pcr详情列表");
     }
     @PostMapping("/delete")

+ 12 - 0
huimv-receive/src/main/java/com/huimv/receive/controller/SysAccountMultilevelController.java

@@ -3,6 +3,7 @@ package com.huimv.receive.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.receive.common.token.TokenSign;
+import com.huimv.receive.common.utils.PdfUtil;
 import com.huimv.receive.common.utils.Result;
 import com.huimv.receive.common.utils.ResultCode;
 import com.huimv.receive.common.utils.UploadImage;
@@ -17,7 +18,9 @@ import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -161,4 +164,13 @@ public class SysAccountMultilevelController {
     public Result getDetail(HttpServletRequest httpServletRequest){
         return new Result(ResultCode.SUCCESS,accountMultilevelService.getById(TokenSign.getMemberIdByJwtToken(httpServletRequest)));
     }
+
+    @GetMapping("/printAccount")
+    public void printAccount(HttpServletResponse response, @RequestParam(name = "ids") String ids) throws Exception {
+        Map<String, String> map = new HashMap<>();
+        map.put("ids", ids);
+        accountMultilevelService.printAccount(response, map);
+        String path = "/opt/huatong/account.xls";
+        PdfUtil.returnPdfStream3(response, path, "账号列表");
+    }
 }

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

@@ -6,10 +6,7 @@ import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.huimv.receive.common.utils.IDCardValidator;
-import com.huimv.receive.common.utils.PhoneNumberValidator;
-import com.huimv.receive.common.utils.Result;
-import com.huimv.receive.common.utils.ResultCode;
+import com.huimv.receive.common.utils.*;
 import com.huimv.receive.entity.SysAccountMultilevel;
 import com.huimv.receive.entity.SysUser;
 import com.huimv.receive.service.ISysAccountMultilevelService;
@@ -19,10 +16,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import javax.servlet.http.HttpServletResponse;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @RestController
@@ -149,6 +144,14 @@ public class SysUserController {
         return  sysUserService.updateAccount(map);
     }
 
+    @GetMapping("/printUser")
+    public void printUser(HttpServletResponse response, @RequestParam(name = "ids") String ids) throws Exception {
+        Map<String, String> map = new HashMap<>();
+        map.put("ids", ids);
+        sysUserService.printUser(response, map);
+        String path = "/opt/huatong/user.xls";
+        PdfUtil.returnPdfStream3(response, path, "人员列表");
+    }
     //账号删除
     @PostMapping("/removeAccount")
     @Transactional

+ 43 - 0
huimv-receive/src/main/java/com/huimv/receive/entity/vo/AccountVo.java

@@ -0,0 +1,43 @@
+package com.huimv.receive.entity.vo;
+
+import lombok.Data;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author author
+ * @since 2023-09-04
+ */
+@Data
+public class AccountVo {
+
+    /**
+     * 员工工号
+     */
+    private String userNum;
+
+    /**
+     * 员工姓名
+     */
+    private String userName;
+
+
+
+    /**
+     * 工作岗位 1 场长,3生物安全负责人 ,4 pcr 检测人员,5洗消站点工作人员
+     */
+    private String workName;
+
+
+    /**
+     * 工作地点
+     */
+    private String workLocation;
+
+    private String account;
+
+    private String password;
+
+}

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

@@ -0,0 +1,12 @@
+package com.huimv.receive.entity.vo;
+
+import lombok.Data;
+
+@Data
+public class DeviceVo {
+    private String deviceNum;
+    private String deviceName;
+    private String location;
+    private String status;
+    private String userName;
+}

+ 56 - 0
huimv-receive/src/main/java/com/huimv/receive/entity/vo/SysUserVo.java

@@ -0,0 +1,56 @@
+package com.huimv.receive.entity.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author author
+ * @since 2023-09-04
+ */
+@Data
+public class SysUserVo {
+
+    /**
+     * 员工工号
+     */
+    private String userNum;
+
+    /**
+     * 员工姓名
+     */
+    private String userName;
+
+    /**
+     * 0 男  1女
+     */
+    private String sex;
+
+    /**
+     * 个人电话
+     */
+    private String phone;
+
+    /**
+     * 工作岗位 1 场长,3生物安全负责人 ,4 pcr 检测人员,5洗消站点工作人员
+     */
+    private String workName;
+
+
+    /**
+     * 工作地点
+     */
+    private String workLocation;
+
+}

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

@@ -4,6 +4,10 @@ import com.huimv.receive.common.utils.Result;
 import com.huimv.receive.entity.BaseDevice;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Map;
+
 import java.util.Map;
 
 /**
@@ -15,7 +19,12 @@ import java.util.Map;
  * @since 2023-09-04
  */
 public interface IBaseDeviceService extends IService<BaseDevice> {
+    //导出
+    void printDevice(HttpServletResponse httpServletRequest, Map<String, String> paramsMap) throws Exception;
 
+    //后台
+    Result listCount(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+    Result listSelect(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
 
     Result addDevice(BaseDevice baseDevice);
 

+ 3 - 0
huimv-receive/src/main/java/com/huimv/receive/service/ISysAccountMultilevelService.java

@@ -6,6 +6,7 @@ import com.huimv.receive.entity.SysAccountMultilevel;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.util.List;
 import java.util.Map;
@@ -36,4 +37,6 @@ public interface ISysAccountMultilevelService extends IService<SysAccountMultile
 
     Result updateUser(HttpServletRequest httpServletRequest, MultipartFile img, String userName, String phone, Integer workPost, String workLocation, String workLocationId, String workName, String papersType, String papersCode) throws IOException;
 
+    //导出
+    void printAccount(HttpServletResponse httpServletRequest, Map<String, String> paramsMap) throws Exception;
 }

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

@@ -5,6 +5,7 @@ import com.huimv.receive.common.utils.Result;
 import com.huimv.receive.entity.SysUser;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import javax.servlet.http.HttpServletResponse;
 import java.util.Map;
 
 /**
@@ -34,4 +35,7 @@ public interface ISysUserService extends IService<SysUser> {
     Result userAgeAndGender(Map<String, String> map);
 
     Result userJob(Map<String, String> map);
+
+    //导出
+    void printUser(HttpServletResponse httpServletRequest, Map<String, String> paramsMap) throws Exception;
 }

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

@@ -1,15 +1,34 @@
 package com.huimv.receive.service.impl;
 
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huimv.receive.common.utils.DataUill;
+import com.huimv.receive.common.utils.Print;
+import com.huimv.receive.common.utils.Result;
+import com.huimv.receive.common.utils.ResultCode;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.receive.common.utils.Result;
 import com.huimv.receive.entity.BaseDevice;
+import com.huimv.receive.entity.BillClean;
+import com.huimv.receive.entity.SysUser;
 import com.huimv.receive.mapper.BaseDeviceMapper;
 import com.huimv.receive.service.IBaseDeviceService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Map;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  *  服务实现类
@@ -21,6 +40,62 @@ import java.util.Map;
 @Service
 public class BaseDeviceServiceImpl extends ServiceImpl<BaseDeviceMapper, BaseDevice> implements IBaseDeviceService {
 
+    @Autowired
+    private BaseDeviceMapper deviceMapper;
+    @Override
+    public void printDevice(HttpServletResponse httpServletRequest, Map<String, String> paramsMap) throws Exception {
+        String ids = paramsMap.get("ids");
+        String[] split = ids.split(",");
+        List<BaseDevice> list = new ArrayList<>();
+        for (String s : split) {
+            BaseDevice admission = deviceMapper.selectById(s);
+            list.add(admission);
+        }
+        Print.printDevice(list);
+    }
+
+    @Override
+    public Result listCount(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        QueryWrapper<BaseDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        queryWrapper.eq("device_status", 0);
+        Integer count = deviceMapper.selectCount(queryWrapper);//在线
+        QueryWrapper<BaseDevice> queryWrapper1 = new QueryWrapper<>();
+        queryWrapper1.eq("farm_id", farmId);
+        queryWrapper1.eq("device_status", 1);
+        Integer count1 = deviceMapper.selectCount(queryWrapper1);//离线
+        Integer allCount = count + count1;
+        Double rank = (Double.valueOf(count.toString()) / Double.valueOf(allCount.toString())) * 100;
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("count", allCount);
+        jsonObject.put("count1", count);
+        jsonObject.put("count2", count1);
+        jsonObject.put("rank", rank);
+        return new Result(ResultCode.SUCCESS, jsonObject);
+    }
+
+    @Override
+    public Result listSelect(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String word = paramsMap.get("word");
+        String locationId = paramsMap.get("locationId");
+        String pageNum = paramsMap.get("pageNum");
+        String pageSize = paramsMap.get("pageSize");
+        if ("".equals(pageNum) || null == pageNum) {
+            pageNum = "1";
+        }
+        if ("".equals(pageSize) || null == pageSize) {
+            pageSize = "10";
+        }
+        QueryWrapper<BaseDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        queryWrapper.and(i -> i.like(StringUtils.isNotBlank(word), "device_code", word)
+                .or().like(StringUtils.isNotBlank(word), "device_name", word));
+        queryWrapper.eq("work_location_type", locationId);
+        Page<BaseDevice> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
+        return new Result(ResultCode.SUCCESS, deviceMapper.selectPage(page, queryWrapper));
+    }
     @Override
     public Result addDevice(BaseDevice baseDevice) {
         String deviceCode = baseDevice.getDeviceCode();

+ 2 - 2
huimv-receive/src/main/java/com/huimv/receive/service/impl/BillIsolateServiceImpl.java

@@ -104,8 +104,8 @@ public class BillIsolateServiceImpl extends ServiceImpl<BillIsolateMapper, BillI
         }
         QueryWrapper<BillIsolate> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("farm_id", farmId);
-        queryWrapper.like(StringUtils.isNotBlank(word), "admission_user_name", word);
-        queryWrapper.like(StringUtils.isNotBlank(word), "phone", word);
+        queryWrapper.and(i -> i.like(StringUtils.isNotBlank(word), "phone", word)
+                .or().like(StringUtils.isNotBlank(word), "admission_user_name", word));
         queryWrapper.eq(StringUtils.isNotBlank(locationId),"isolate_location_id", locationId);
         queryWrapper.eq(StringUtils.isNotBlank(type),"bill_status", type);
         queryWrapper.between("sub_date", startTime, endTime);

+ 2 - 2
huimv-receive/src/main/java/com/huimv/receive/service/impl/BillLuggageServiceImpl.java

@@ -116,8 +116,8 @@ public class BillLuggageServiceImpl extends ServiceImpl<BillLuggageMapper, BillL
         }
         QueryWrapper<BillLuggage> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("farm_id", farmId);
-        queryWrapper.like(StringUtils.isNotBlank(word), "user_name", word);
-        queryWrapper.like(StringUtils.isNotBlank(word), "phone", word);
+        queryWrapper.and(i -> i.like(StringUtils.isNotBlank(word), "phone", word)
+                .or().like(StringUtils.isNotBlank(word), "user_name", word));
         queryWrapper.between("luggage_date", startTime, endTime);
         Page<BillLuggage> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
         return new Result(ResultCode.SUCCESS, billLuggageMapper.selectPage(page, queryWrapper));

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

@@ -9,7 +9,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huimv.receive.common.token.TokenSign;
 import com.huimv.receive.common.utils.*;
 import com.huimv.receive.entity.SysAccountMultilevel;
+import com.huimv.receive.entity.SysUser;
+import com.huimv.receive.entity.vo.AccountVo;
 import com.huimv.receive.mapper.SysAccountMultilevelMapper;
+import com.huimv.receive.mapper.SysUserMapper;
 import com.huimv.receive.service.ISysAccountMultilevelService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -18,9 +21,11 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -37,6 +42,8 @@ public class SysAccountMultilevelServiceImpl extends ServiceImpl<SysAccountMulti
     private SysAccountMultilevelMapper accountMultilevelMapper;
     @Autowired
     private UploadImage uploadImage;
+    @Autowired
+    private SysUserMapper userMapper;
 
     @Override
     public Result findUserAccount(String searchStr, int pageNum, int pageSize, Integer userId) {
@@ -179,4 +186,37 @@ public class SysAccountMultilevelServiceImpl extends ServiceImpl<SysAccountMulti
         return new Result(ResultCode.SUCCESS,sysAccountMultilevel);
     }
 
+    @Override
+    public void printAccount(HttpServletResponse httpServletRequest, Map<String, String> paramsMap) throws Exception {
+        String ids = paramsMap.get("ids");
+        String[] split = ids.split(",");
+        List<AccountVo> list = new ArrayList<>();
+        for (String s : split) {
+            QueryWrapper<SysAccountMultilevel> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("id", s);
+            SysAccountMultilevel sysAccountMultilevel = accountMultilevelMapper.selectOne(queryWrapper);
+            QueryWrapper<SysUser> queryWrapper1 = new QueryWrapper<>();
+            queryWrapper1.eq("id", sysAccountMultilevel.getUserId());
+            SysUser user = userMapper.selectOne(queryWrapper1);
+            AccountVo accountVo = new AccountVo();
+            accountVo.setAccount(sysAccountMultilevel.getAccount());
+            accountVo.setPassword(sysAccountMultilevel.getPassword());
+            accountVo.setUserName(user.getUserName());
+            accountVo.setWorkLocation(user.getWorkLocation());
+            accountVo.setUserNum(user.getUserId());
+            if (user.getJob() == 1) {
+                accountVo.setWorkName("场长");
+            } else if (user.getJob() == 3) {
+                accountVo.setWorkName("生物安全负责人");
+            } else if (user.getJob() == 4) {
+                accountVo.setWorkName("pcr检测人员");
+            } else if (user.getJob() == 5) {
+                accountVo.setWorkName("洗消点工作人员");
+            }
+            list.add(accountVo);
+        }
+        Print.printAccount(list);
+
+    }
+
 }

+ 23 - 5
huimv-receive/src/main/java/com/huimv/receive/service/impl/SysUserServiceImpl.java

@@ -1,17 +1,17 @@
 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.Print;
 import com.huimv.receive.common.utils.Result;
 import com.huimv.receive.common.utils.ResultCode;
-import com.huimv.receive.entity.BaseLocation;
-import com.huimv.receive.entity.Farm;
-import com.huimv.receive.entity.SysAccountMultilevel;
-import com.huimv.receive.entity.SysUser;
+import com.huimv.receive.entity.*;
 import com.huimv.receive.entity.vo.UserAccountVo;
 import com.huimv.receive.entity.vo.UserAgeAndGender;
 import com.huimv.receive.entity.vo.UserJob;
@@ -19,11 +19,17 @@ 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 javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.List;
 import java.util.Map;
 
@@ -164,7 +170,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);
@@ -174,6 +180,18 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     }
 
     @Override
+    public void printUser(HttpServletResponse httpServletRequest, Map<String, String> paramsMap) throws Exception {
+        String ids = paramsMap.get("ids");
+        String[] split = ids.split(",");
+        List<SysUser> list = new ArrayList<>();
+        for (String s : split) {
+            SysUser admission = userMapper.selectById(s);
+            list.add(admission);
+        }
+        Print.printUser(list);
+    }
+
+    @Override
     public Result removeAccount(Map<String, String> map) {
         String ids = map.get("ids");
         sysAccountMultilevelMapper.delete(new QueryWrapper<SysAccountMultilevel>().eq("user_id",ids.split(",")));