wwh hai 1 ano
pai
achega
c9d91d1c2f
Modificáronse 33 ficheiros con 988 adicións e 44 borrados
  1. 137 4
      huimv-receive/src/main/java/com/huimv/receive/common/utils/Print.java
  2. 56 0
      huimv-receive/src/main/java/com/huimv/receive/controller/BillCleanController.java
  3. 30 0
      huimv-receive/src/main/java/com/huimv/receive/controller/BillLuggageController.java
  4. 64 0
      huimv-receive/src/main/java/com/huimv/receive/controller/BillPcrController.java
  5. 1 1
      huimv-receive/src/main/java/com/huimv/receive/controller/BillPersonnelAdmissionController.java
  6. 20 0
      huimv-receive/src/main/java/com/huimv/receive/controller/ConfigurationController.java
  7. 1 1
      huimv-receive/src/main/java/com/huimv/receive/entity/BillPcr.java
  8. 48 0
      huimv-receive/src/main/java/com/huimv/receive/entity/Configuration.java
  9. 11 0
      huimv-receive/src/main/java/com/huimv/receive/entity/dto/PcrDto.java
  10. 16 0
      huimv-receive/src/main/java/com/huimv/receive/entity/dto/PrintLuggageDto.java
  11. 15 0
      huimv-receive/src/main/java/com/huimv/receive/entity/vo/CleanVo.java
  12. 14 0
      huimv-receive/src/main/java/com/huimv/receive/entity/vo/LuggageVo.java
  13. 9 0
      huimv-receive/src/main/java/com/huimv/receive/entity/vo/PcrVo.java
  14. 15 0
      huimv-receive/src/main/java/com/huimv/receive/entity/vo/PcrVo1.java
  15. 10 0
      huimv-receive/src/main/java/com/huimv/receive/mapper/BillCleanMapper.java
  16. 8 1
      huimv-receive/src/main/java/com/huimv/receive/mapper/BillLuggageMapper.java
  17. 13 0
      huimv-receive/src/main/java/com/huimv/receive/mapper/BillPcrMapper.java
  18. 16 0
      huimv-receive/src/main/java/com/huimv/receive/mapper/ConfigurationMapper.java
  19. 13 0
      huimv-receive/src/main/java/com/huimv/receive/service/IBillCleanService.java
  20. 7 0
      huimv-receive/src/main/java/com/huimv/receive/service/IBillLuggageService.java
  21. 15 0
      huimv-receive/src/main/java/com/huimv/receive/service/IBillPcrService.java
  22. 16 0
      huimv-receive/src/main/java/com/huimv/receive/service/IConfigurationService.java
  23. 111 7
      huimv-receive/src/main/java/com/huimv/receive/service/impl/BillCleanServiceImpl.java
  24. 11 2
      huimv-receive/src/main/java/com/huimv/receive/service/impl/BillIsolateServiceImpl.java
  25. 70 4
      huimv-receive/src/main/java/com/huimv/receive/service/impl/BillLuggageServiceImpl.java
  26. 162 23
      huimv-receive/src/main/java/com/huimv/receive/service/impl/BillPcrServiceImpl.java
  27. 5 1
      huimv-receive/src/main/java/com/huimv/receive/service/impl/BillPersonnelAdmissionServiceImpl.java
  28. 20 0
      huimv-receive/src/main/java/com/huimv/receive/service/impl/ConfigurationServiceImpl.java
  29. 23 0
      huimv-receive/src/main/java/com/huimv/receive/timer/SafeTimer.java
  30. 15 0
      huimv-receive/src/main/resources/com/huimv/receive/mapper/BillCleanMapper.xml
  31. 6 0
      huimv-receive/src/main/resources/com/huimv/receive/mapper/BillLuggageMapper.xml
  32. 25 0
      huimv-receive/src/main/resources/com/huimv/receive/mapper/BillPcrMapper.xml
  33. 5 0
      huimv-receive/src/main/resources/mapper/ConfigurationMapper.xml

+ 137 - 4
huimv-receive/src/main/java/com/huimv/receive/common/utils/Print.java

@@ -1,10 +1,10 @@
 package com.huimv.receive.common.utils;
 
 
-import com.huimv.receive.entity.BillIsolate;
-import com.huimv.receive.entity.BillPersonnelAdmission;
+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 org.jxls.util.JxlsHelper;
 import org.jxls.common.Context;
 
@@ -17,6 +17,7 @@ import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 public class Print {
@@ -29,9 +30,9 @@ public class Print {
     public static void printAdmission(List<BillPersonnelAdmission> admissionList) throws Exception {
 
         //准备数据
-        String path = "G://admission.xls";
+        String path = "/opt/huatong/admission.xls";
         //获取模板文件,你自己当前模板的位置  我这里为当前项目下
-        InputStream is = new FileInputStream("G://admission.xlsx");
+        InputStream is = new FileInputStream("/opt/huatong/admission.xlsx");
         //根据模板生成的文件保存路径  我这里保存在本地D盘
         OutputStream os = new FileOutputStream(path);
         //绑定数据
@@ -111,4 +112,136 @@ public class Print {
         //生成
         JxlsHelper.getInstance().processTemplate(is, os, context);
     }
+
+    public static void printPcr(List<BillPcr> admissionList) throws Exception {
+
+        //准备数据
+        String path = "G://pcr.xls";
+        //获取模板文件,你自己当前模板的位置  我这里为当前项目下
+        InputStream is = new FileInputStream("G://pcr.xlsx");
+        //根据模板生成的文件保存路径  我这里保存在本地D盘
+        OutputStream os = new FileOutputStream(path);
+        //绑定数据
+        Context context = new Context();
+        List<PrintAdmissionDto> list = new ArrayList<>();
+        for (BillPcr admission : admissionList) {
+            PrintAdmissionDto dto = new PrintAdmissionDto();
+            dto.setUserName(admission.getAdmissionUserName());
+            dto.setCarNum(admission.getCarNum());
+            dto.setPhone(admission.getPhone());
+            dto.setDestName(admission.getDestName());
+            Date date = admission.getCheckDate();
+            SimpleDateFormat dtf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            dto.setVistitDate(dtf.format(date));
+            dto.setVistitReason(admission.getTestLocation());
+            if (admission.getBillStatus() == 0) {
+                dto.setBillStatus("待审核");
+            } else if (admission.getBillStatus() == 1) {
+                dto.setBillStatus("合格");
+            } else if (admission.getBillStatus() == 2) {
+                dto.setBillStatus("异常");
+            }
+            else if (admission.getBillStatus() == 3) {
+                dto.setBillStatus("失效");
+            }
+
+            if (admission.getVistitType() == 0) {
+                dto.setVistitType("人员");
+            } else if (admission.getVistitType() == 1) {
+                dto.setVistitType("环保车");
+            } else if (admission.getVistitType() == 2) {
+                dto.setVistitType("拉猪车");
+            } else if (admission.getVistitType() == 3) {
+                dto.setVistitType("饲料车");
+            } else if (admission.getVistitType() == 4) {
+                dto.setVistitType("送猪车");
+            } else if (admission.getVistitType() == 5) {
+                dto.setVistitType("物资车");
+            }
+            list.add(dto);
+        }
+        context.putVar("list", list);
+        //生成
+        JxlsHelper.getInstance().processTemplate(is, os, context);
+    }
+
+    public static void printClean(List<BillClean> admissionList) throws Exception {
+
+        //准备数据
+        String path = "G://clean.xls";
+        //获取模板文件,你自己当前模板的位置  我这里为当前项目下
+        InputStream is = new FileInputStream("G://clean.xlsx");
+        //根据模板生成的文件保存路径  我这里保存在本地D盘
+        OutputStream os = new FileOutputStream(path);
+        //绑定数据
+        Context context = new Context();
+        List<PrintAdmissionDto> list = new ArrayList<>();
+        for (BillClean admission : admissionList) {
+            PrintAdmissionDto dto = new PrintAdmissionDto();
+            dto.setUserName(admission.getAdmissionUserName());
+            dto.setCarNum(admission.getCarNum());
+            dto.setPhone(admission.getPhone());
+            dto.setDestName(admission.getDestName());
+            Date date = admission.getCheckDate();
+            SimpleDateFormat dtf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            dto.setVistitDate(dtf.format(date));
+            dto.setVistitReason(admission.getTestLocation());
+            if (admission.getBillStatus() == 0) {
+                dto.setBillStatus("待审核");
+            } else if (admission.getBillStatus() == 1) {
+                dto.setBillStatus("合格");
+            } else if (admission.getBillStatus() == 2) {
+                dto.setBillStatus("异常");
+            }
+            else if (admission.getBillStatus() == 3) {
+                dto.setBillStatus("失效");
+            }
+
+            if (admission.getVistitType() == 0) {
+                dto.setVistitType("人员");
+            } else if (admission.getVistitType() == 1) {
+                dto.setVistitType("环保车");
+            } else if (admission.getVistitType() == 2) {
+                dto.setVistitType("拉猪车");
+            } else if (admission.getVistitType() == 3) {
+                dto.setVistitType("饲料车");
+            } else if (admission.getVistitType() == 4) {
+                dto.setVistitType("送猪车");
+            } else if (admission.getVistitType() == 5) {
+                dto.setVistitType("物资车");
+            }
+            list.add(dto);
+        }
+        context.putVar("list", list);
+        //生成
+        JxlsHelper.getInstance().processTemplate(is, os, context);
+    }
+
+    public static void printLuggage(List<BillLuggage> admissionList) throws Exception {
+
+        //准备数据
+        String path = "G://luggage.xls";
+        //获取模板文件,你自己当前模板的位置  我这里为当前项目下
+        InputStream is = new FileInputStream("G://luggage.xlsx");
+        //根据模板生成的文件保存路径  我这里保存在本地D盘
+        OutputStream os = new FileOutputStream(path);
+        //绑定数据
+        Context context = new Context();
+        List<PrintLuggageDto> list = new ArrayList<>();
+        for (BillLuggage admission : admissionList) {
+            PrintLuggageDto dto = new PrintLuggageDto();
+            dto.setUserName(admission.getUserName());
+            dto.setPhone(admission.getPhone());
+            LocalDateTime date = admission.getLuggageDate();
+            DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+            dto.setVistitDate(dtf.format(date));
+            dto.setVistitReason(admission.getLuggageLocation());
+            dto.setBillStatus(admission.getLuggageNum().toString());
+            list.add(dto);
+        }
+        context.putVar("list", list);
+        //生成
+        JxlsHelper.getInstance().processTemplate(is, os, context);
+    }
+
 }

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

@@ -2,19 +2,25 @@ package com.huimv.receive.controller;
 
 
 import cn.hutool.core.util.ObjectUtil;
+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.BillClean;
 import com.huimv.receive.entity.BillDry;
+import com.huimv.receive.entity.Configuration;
 import com.huimv.receive.service.IBillCleanService;
 import com.huimv.receive.service.IBillDryService;
+import com.huimv.receive.service.IConfigurationService;
 import org.springframework.beans.factory.annotation.Autowired;
 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.text.ParseException;
+import java.util.HashMap;
 import java.util.Map;
 
 /**
@@ -75,6 +81,8 @@ public class BillCleanController {
 
     @Autowired
     private IBillCleanService cleanService;
+    @Autowired
+    private IConfigurationService configurationService;
 
     @RequestMapping("/listClean")
     public Result listClean(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
@@ -119,4 +127,52 @@ public class BillCleanController {
                                 @RequestParam("result") String result) throws IOException, ParseException {
         return cleanService.goodsCarClean(httpServletRequest, farmId, id, data, img1, img2, img3, img4, img5,type,result);
     }
+
+
+    //
+    @RequestMapping("/listCount")
+    public Result listCount(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) throws ParseException {
+        return cleanService.listCount(httpServletRequest, paramsMap);
+    }
+
+    @PostMapping("/allList")
+    public Result listAll(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> paramsMap){
+        return cleanService.AllClean(httpServletRequest, paramsMap);
+    }
+
+    @PostMapping("/CleanSelect")
+    public Result CleanSelect(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> paramsMap){
+        return cleanService.CleanSelect(httpServletRequest, paramsMap);
+    }
+
+    @GetMapping("/printClean")
+    public void printClean(HttpServletResponse response, @RequestParam(name = "ids") String ids) throws Exception {
+        Map<String, String> map = new HashMap<>();
+        map.put("ids", ids);
+        billCleanService.printClean(response, map);
+        String path = "G://clean.xls";
+        PdfUtil.returnPdfStream3(response, path, "洗消详情列表");
+    }
+    @PostMapping("/delete")
+    public Result delete(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> paramsMap){
+        String ids = paramsMap.get("ids");
+        String[] split = ids.split(",");
+        for (String s : split) {
+            billCleanService.removeById(s);
+        }
+        return new Result(10000,"删除成功!",true);
+    }
+    @PostMapping("/editTime")
+    public Result editTime(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> paramsMap){
+        String time = paramsMap.get("time");
+        String farmId = paramsMap.get("farmId");
+        String hum = paramsMap.get("hum");
+        QueryWrapper<Configuration> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        Configuration configuration = configurationService.getOne(queryWrapper);
+        configuration.setClean(Integer.parseInt(time));
+        configuration.setDry(Integer.parseInt(hum));
+        configurationService.updateById(configuration);
+        return new Result(10000,"保存成功!",true);
+    }
 }

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

@@ -1,6 +1,7 @@
 package com.huimv.receive.controller;
 
 
+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.service.IBillLuggageService;
@@ -9,7 +10,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.Map;
 
 /**
@@ -51,4 +54,31 @@ public class BillLuggageController {
     public Result getDetail(@RequestBody Map<String, String> paramsMap){
         return new Result(ResultCode.SUCCESS,billLuggageService.getById(paramsMap.get("id")));
     }
+
+    @PostMapping("/listLuggage")
+    public Result listLuggage(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> paramsMap){
+        return billLuggageService.listLuggage(httpServletRequest, paramsMap);
+    }
+
+    @PostMapping("/selectLuggage")
+    public Result selectLuggage(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> paramsMap){
+        return billLuggageService.selectLuggage(httpServletRequest, paramsMap);
+    }
+    @PostMapping("/delete")
+    public Result delete(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> paramsMap){
+        String ids = paramsMap.get("ids");
+        String[] split = ids.split(",");
+        for (String s : split) {
+            billLuggageService.removeById(s);
+        }
+        return new Result(10000,"删除成功!",true);
+    }
+    @GetMapping("/printLuggage")
+    public void printLuggage(HttpServletResponse response, @RequestParam(name = "ids") String ids) throws Exception {
+        Map<String, String> map = new HashMap<>();
+        map.put("ids", ids);
+        billLuggageService.printLuggage(response, map);
+        String path = "G://luggage.xls";
+        PdfUtil.returnPdfStream3(response, path, "行李详情列表");
+    }
 }

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

@@ -1,14 +1,22 @@
 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.BillPcr;
+import com.huimv.receive.entity.Configuration;
 import com.huimv.receive.service.IBillPcrService;
+import com.huimv.receive.service.IConfigurationService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.text.ParseException;
+import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -26,6 +34,9 @@ public class BillPcrController {
 
     @Autowired
     private IBillPcrService pcrService;
+    @Autowired
+    private IConfigurationService configurationService;
+
     @RequestMapping("/listPcr")
     public Result listPcr(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
         return pcrService.list(httpServletRequest, paramsMap);
@@ -51,4 +62,57 @@ public class BillPcrController {
         return new Result(ResultCode.SUCCESS, billPcrService.getById(paramsMap.get("id")));
     }
 
+    //后台
+    @PostMapping("/pcrWhole")
+    public Result pcrWhole(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> paramsMap){
+        return billPcrService.pcrWhole(httpServletRequest, paramsMap);
+    }
+
+    @PostMapping("/listType")
+    public Result listType(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> paramsMap){
+        return billPcrService.listType(httpServletRequest, paramsMap);
+    }
+
+    @PostMapping("/listLocation")
+    public Result listLocation(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> paramsMap){
+        return billPcrService.listLocation(httpServletRequest, paramsMap);
+    }
+    @PostMapping("/listAll")
+    public Result listAll(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> paramsMap){
+        return billPcrService.listAll(httpServletRequest, paramsMap);
+    }
+
+    @PostMapping("/selectList")
+    public Result selectList(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> paramsMap){
+        return billPcrService.selectList(httpServletRequest, paramsMap);
+    }
+
+    @GetMapping("/printPcr")
+    public void printPcr(HttpServletResponse response, @RequestParam(name = "ids") String ids) throws Exception {
+        Map<String, String> map = new HashMap<>();
+        map.put("ids", ids);
+        billPcrService.printPcr(response, map);
+        String path = "G://pcr.xls";
+        PdfUtil.returnPdfStream3(response, path, "pcr详情列表");
+    }
+    @PostMapping("/delete")
+    public Result delete(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> paramsMap){
+        String ids = paramsMap.get("ids");
+        String[] split = ids.split(",");
+        for (String s : split) {
+            billPcrService.removeById(s);
+        }
+        return new Result(10000,"删除成功!",true);
+    }
+    @PostMapping("/editTime")
+    public Result editTime(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> paramsMap){
+        String time = paramsMap.get("time");
+        String farmId = paramsMap.get("farmId");
+        QueryWrapper<Configuration> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        Configuration configuration = configurationService.getOne(queryWrapper);
+        configuration.setPcr(Integer.parseInt(time));
+        configurationService.updateById(configuration);
+        return new Result(10000,"保存成功!",true);
+    }
 }

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

@@ -180,7 +180,7 @@ public class BillPersonnelAdmissionController {
         Map<String, String> map = new HashMap<>();
         map.put("ids", ids);
         admissionService.printAdmission(response, map);
-        String path = "G://admission.xls";
+        String path = "/opt/huatong/admission.xls";
         PdfUtil.returnPdfStream3(response, path, "人员管理列表");
     }
 

+ 20 - 0
huimv-receive/src/main/java/com/huimv/receive/controller/ConfigurationController.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("/configuration")
+public class ConfigurationController {
+
+}

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

@@ -119,5 +119,5 @@ public class BillPcr implements Serializable {
 
     private String carNum;
 
-    private String qualifiedDate;
+    private Integer qualifiedDate;
 }

+ 48 - 0
huimv-receive/src/main/java/com/huimv/receive/entity/Configuration.java

@@ -0,0 +1,48 @@
+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.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("configuration")
+public class Configuration implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * pcr有效时长 单位小时
+     */
+    private Integer pcr;
+
+    /**
+     * 人员洗澡时长 单位分钟
+     */
+    private Integer clean;
+
+    /**
+     * 烘干温蒂 单位为摄氏度
+     */
+    private Integer dry;
+
+    private String farmId;
+
+
+}

+ 11 - 0
huimv-receive/src/main/java/com/huimv/receive/entity/dto/PcrDto.java

@@ -0,0 +1,11 @@
+package com.huimv.receive.entity.dto;
+
+import lombok.Data;
+
+@Data
+public class PcrDto {
+    private Integer wholeCount;
+    private Integer passCount;
+    private Integer refuseCount;
+    private Integer loseCount;
+}

+ 16 - 0
huimv-receive/src/main/java/com/huimv/receive/entity/dto/PrintLuggageDto.java

@@ -0,0 +1,16 @@
+package com.huimv.receive.entity.dto;
+
+import lombok.Data;
+
+@Data
+public class PrintLuggageDto {
+    private String userName;
+
+    private String phone;
+
+    private String vistitDate;
+
+    private String vistitReason;
+
+    private String billStatus;
+}

+ 15 - 0
huimv-receive/src/main/java/com/huimv/receive/entity/vo/CleanVo.java

@@ -0,0 +1,15 @@
+package com.huimv.receive.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class CleanVo {
+    private Integer allCount;
+    private Integer passCount;
+    private Integer refuseCount;
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date dateTime;
+}

+ 14 - 0
huimv-receive/src/main/java/com/huimv/receive/entity/vo/LuggageVo.java

@@ -0,0 +1,14 @@
+package com.huimv.receive.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class LuggageVo {
+    private Integer count;
+
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date dateTime;
+}

+ 9 - 0
huimv-receive/src/main/java/com/huimv/receive/entity/vo/PcrVo.java

@@ -0,0 +1,9 @@
+package com.huimv.receive.entity.vo;
+
+import lombok.Data;
+
+@Data
+public class PcrVo {
+    private Integer count;
+    private String type;
+}

+ 15 - 0
huimv-receive/src/main/java/com/huimv/receive/entity/vo/PcrVo1.java

@@ -0,0 +1,15 @@
+package com.huimv.receive.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class PcrVo1 {
+    private Integer allCount;
+    private Integer passCount;
+    private Integer refuseCount;
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date dateTime;
+}

+ 10 - 0
huimv-receive/src/main/java/com/huimv/receive/mapper/BillCleanMapper.java

@@ -1,10 +1,18 @@
 package com.huimv.receive.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huimv.receive.entity.BillClean;
+import com.huimv.receive.entity.BillPcr;
 import com.huimv.receive.entity.vo.CleanAndDryVo;
 import com.huimv.receive.entity.vo.CleanAndDryVo2;
+import com.huimv.receive.entity.vo.CleanVo;
+import com.huimv.receive.entity.vo.PcrVo1;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -27,4 +35,6 @@ public interface BillCleanMapper extends BaseMapper<BillClean> {
     Page<CleanAndDryVo2> CleanAndDry2(Page<CleanAndDryVo2> page, String farmId, String[] status);
 
     Page<CleanAndDryVo2> CleanList(Page<CleanAndDryVo2> page, String farmId, String[] status, String location);
+
+    List<CleanVo> listAll(@Param(Constants.WRAPPER) QueryWrapper<BillClean> queryWrapper);
 }

+ 8 - 1
huimv-receive/src/main/java/com/huimv/receive/mapper/BillLuggageMapper.java

@@ -1,7 +1,14 @@
 package com.huimv.receive.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.huimv.receive.entity.BillLuggage;
+import com.huimv.receive.entity.BillPcr;
+import com.huimv.receive.entity.vo.LuggageVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -12,5 +19,5 @@ import com.huimv.receive.entity.BillLuggage;
  * @since 2023-07-24
  */
 public interface BillLuggageMapper extends BaseMapper<BillLuggage> {
-
+    List<LuggageVo> list(@Param(Constants.WRAPPER)QueryWrapper<BillLuggage> queryWrapper);
 }

+ 13 - 0
huimv-receive/src/main/java/com/huimv/receive/mapper/BillPcrMapper.java

@@ -1,7 +1,15 @@
 package com.huimv.receive.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.huimv.receive.entity.BillIsolate;
 import com.huimv.receive.entity.BillPcr;
+import com.huimv.receive.entity.vo.PcrVo;
+import com.huimv.receive.entity.vo.PcrVo1;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +21,9 @@ import com.huimv.receive.entity.BillPcr;
  */
 public interface BillPcrMapper extends BaseMapper<BillPcr> {
 
+    List<PcrVo> listPcr(@Param(Constants.WRAPPER) QueryWrapper<BillPcr> queryWrapper);
+
+    List<PcrVo> listLocation(@Param(Constants.WRAPPER) QueryWrapper<BillPcr> queryWrapper);
+
+    List<PcrVo1> listAll(@Param(Constants.WRAPPER) QueryWrapper<BillPcr> queryWrapper);
 }

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

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

+ 13 - 0
huimv-receive/src/main/java/com/huimv/receive/service/IBillCleanService.java

@@ -6,6 +6,7 @@ import com.huimv.receive.entity.BillClean;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.text.ParseException;
 import java.util.Map;
@@ -38,4 +39,16 @@ public interface IBillCleanService extends IService<BillClean> {
     //饲料车
     Result goodsCarClean(HttpServletRequest httpServletRequest, String farmId, String id, String date, MultipartFile img1, MultipartFile img2, MultipartFile img3, MultipartFile img4, MultipartFile img5, String type, String result) throws ParseException, IOException;
 
+
+    //后台
+    Result listCount(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    Result AllClean(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    Result CleanSelect(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    //导出
+    void printClean(HttpServletResponse httpServletRequest, Map<String, String> paramsMap) throws Exception;
+
+
 }

+ 7 - 0
huimv-receive/src/main/java/com/huimv/receive/service/IBillLuggageService.java

@@ -6,6 +6,7 @@ import com.huimv.receive.entity.BillLuggage;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.util.Map;
 
@@ -22,4 +23,10 @@ public interface IBillLuggageService extends IService<BillLuggage> {
     Result addLuggage(HttpServletRequest httpServletRequest, String userName, String phone, String luggageDate, String luggageLocation, String luggageLocationId, Integer luggageNum, MultipartFile img, MultipartFile img2, MultipartFile img3, MultipartFile img4, MultipartFile img5) throws IOException;
 
     Result listPersonalLuggage(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    Result listLuggage(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    Result selectLuggage(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+    //导出
+    void printLuggage(HttpServletResponse httpServletRequest, Map<String, String> paramsMap) throws Exception;
 }

+ 15 - 0
huimv-receive/src/main/java/com/huimv/receive/service/IBillPcrService.java

@@ -5,6 +5,7 @@ import com.huimv.receive.common.utils.Result;
 import com.huimv.receive.entity.BillPcr;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.text.ParseException;
 import java.util.Map;
 
@@ -23,4 +24,18 @@ public interface IBillPcrService extends IService<BillPcr> {
 
     Result edit(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) throws ParseException;
     Result listPersonalPcr(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    //后台总体概况
+    Result pcrWhole(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    Result listType(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    Result listLocation(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    Result listAll(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+    //详细数据查询
+    Result selectList(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    //导出
+    void printPcr(HttpServletResponse httpServletRequest, Map<String, String> paramsMap) throws Exception;
 }

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

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

+ 111 - 7
huimv-receive/src/main/java/com/huimv/receive/service/impl/BillCleanServiceImpl.java

@@ -1,17 +1,18 @@
 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.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huimv.receive.common.token.TokenSign;
-import com.huimv.receive.common.utils.Result;
-import com.huimv.receive.common.utils.ResultCode;
-import com.huimv.receive.common.utils.UploadImage;
+import com.huimv.receive.common.utils.*;
 import com.huimv.receive.entity.*;
 import com.huimv.receive.entity.vo.CleanAndDryVo;
 import com.huimv.receive.entity.vo.CleanAndDryVo2;
+import com.huimv.receive.entity.vo.CleanVo;
+import com.huimv.receive.entity.vo.PcrVo1;
 import com.huimv.receive.mapper.*;
 import com.huimv.receive.service.IBillCleanService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -21,14 +22,12 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * <p>
@@ -57,6 +56,8 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
     private BillDryMapper dryMapper;
     @Autowired
     private BillPersonnelAdmissionMapper admissionMapper;
+    @Autowired
+    private ConfigurationMapper configurationMapper;
 
     @Override
     public Result listAll(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
@@ -211,6 +212,10 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
         locationQueryWrapper.eq("farm_id", farmId).eq("id", billClean.getTestLocationId());
         BaseLocation baseLocation = locationMapper.selectOne(locationQueryWrapper);//当前所在的位置
 
+        QueryWrapper<Configuration> queryWrapper3 = new QueryWrapper<>();
+        queryWrapper3.eq("farm_id", farmId);
+        Configuration configuration = configurationMapper.selectOne(queryWrapper3);
+
         if (baseProcess.getProcessType() == 2 || baseProcess.getProcessType() == 1) {
             return new Result(10001, "修改失败!该申请已提前结束或者被拒绝", false);
         } else {
@@ -242,6 +247,7 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
                         billPcr.setFarmId(billClean.getFarmId());
                         billPcr.setTestLocation("人员二级洗消站");
                         billPcr.setTestLocationId(3);
+                        billPcr.setQualifiedDate(configuration.getPcr());
                         pcrMapper.insert(billPcr);
                     }
                     if (baseLocation.getId() == 3 ) {
@@ -284,6 +290,7 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
                             billPcr.setFarmId(billClean.getFarmId());
                             billPcr.setTestLocation("场内");
                             billPcr.setTestLocationId(4);
+                            billPcr.setQualifiedDate(configuration.getPcr());
                             pcrMapper.insert(billPcr);
                         } else {
                             //生成隔离申请
@@ -840,4 +847,101 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
 
 
     }
+
+    @Override
+    public Result listCount(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        Date timesmorning = DataUill.getTimesmorning();
+        QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId).ge("sub_date", timesmorning);
+        queryWrapper.eq("bill_status", 1);
+        Integer count = billCleanMapper.selectCount(queryWrapper);//合格
+        QueryWrapper<BillClean> queryWrapper1 = new QueryWrapper<>();
+        queryWrapper1.eq("farm_id", farmId).ge("sub_date", timesmorning);
+        queryWrapper1.eq("bill_status", 2);
+        Integer count1 = billCleanMapper.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 AllClean(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String personType = paramsMap.get("personType");
+        String type = paramsMap.get("type");
+        if ("".equals(type) || null == type) {
+            type = "1";
+        }
+        List<CleanVo> pcrVos = null;
+        QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId).in("bill_status", 1, 2);
+        if ("".equals(personType) || null == personType) {
+
+        }else {
+            queryWrapper.eq("vistit_type", personType);
+        }
+        if ("1".equals(type)) {
+            Date timesmorning = DataUill.getTimesmorning();
+            queryWrapper.ge("sub_date", timesmorning);
+        } else if ("2".equals(type)) {
+            Calendar calendar = Calendar.getInstance();
+            calendar.set(Calendar.DATE,calendar.get(Calendar.DATE)-7);
+            queryWrapper.ge("sub_date", calendar.getTime());
+        } else if ("3".equals(type)) {
+            Date monthmorning = DataUill.getTimesMonthmorning();
+            queryWrapper.ge("sub_date",monthmorning);
+        }
+        pcrVos = billCleanMapper.listAll(queryWrapper);
+        for (CleanVo pcrVo : pcrVos) {
+            pcrVo.setAllCount(pcrVo.getPassCount() + pcrVo.getRefuseCount());
+        }
+        return new Result(ResultCode.SUCCESS, pcrVos);
+    }
+
+    @Override
+    public Result CleanSelect(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String type = paramsMap.get("type");//来访类型
+        String startTime = paramsMap.get("startTime");
+        String endTime = paramsMap.get("endTime");
+        String pageNum = paramsMap.get("pageNum");
+        String pageSize = paramsMap.get("pageSize");
+        if ("".equals(pageNum) || null == pageNum) {
+            pageNum = "1";
+        }
+        if ("".equals(pageSize) || null == pageSize) {
+            pageSize = "10";
+        }
+        if ("".equals(startTime) || null == startTime) {
+            startTime = DataUill.getTimesmorning().toString();
+            endTime = LocalDateTime.now() + " 23:59:59";
+        }
+        QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        queryWrapper.between("check_date", startTime, endTime);
+        if ("".equals(type) || null == type) {
+        } else {
+            queryWrapper.eq("vistit_type", type);
+        }
+        Page<BillClean> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
+        return new Result(ResultCode.SUCCESS, billCleanMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public void printClean(HttpServletResponse httpServletRequest, Map<String, String> paramsMap) throws Exception {
+        String ids = paramsMap.get("ids");
+        String[] split = ids.split(",");
+        List<BillClean> list = new ArrayList<>();
+        for (String s : split) {
+            BillClean admission = billCleanMapper.selectById(s);
+            list.add(admission);
+        }
+        Print.printClean(list);
+    }
 }

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

@@ -1,6 +1,7 @@
 package com.huimv.receive.service.impl;
 
 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huimv.receive.common.token.TokenSign;
@@ -18,6 +19,7 @@ import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.time.LocalDateTime;
 import java.util.*;
 
 /**
@@ -84,6 +86,7 @@ public class BillIsolateServiceImpl extends ServiceImpl<BillIsolateMapper, BillI
     public Result IsolateSelect(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
         String type = paramsMap.get("type");//隔离状态
         String locationId = paramsMap.get("locationId");//隔离地点
+        String word = paramsMap.get("word");
         String startTime = paramsMap.get("startTime");
         String endTime = paramsMap.get("endTime");
         String farmId = paramsMap.get("farmId");
@@ -95,10 +98,16 @@ public class BillIsolateServiceImpl extends ServiceImpl<BillIsolateMapper, BillI
         if ("".equals(pageSize) || null == pageSize) {
             pageSize = "10";
         }
+        if ("".equals(startTime) || null == startTime) {
+            startTime = DataUill.getTimesmorning().toString();
+            endTime = LocalDateTime.now() + " 23:59:59";
+        }
         QueryWrapper<BillIsolate> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("farm_id", farmId);
-        queryWrapper.eq("isolate_location_id", locationId);
-        queryWrapper.eq("bill_status", type);
+        queryWrapper.like(StringUtils.isNotBlank(word), "admission_user_name", word);
+        queryWrapper.like(StringUtils.isNotBlank(word), "phone", word);
+        queryWrapper.eq(StringUtils.isNotBlank(locationId),"isolate_location_id", locationId);
+        queryWrapper.eq(StringUtils.isNotBlank(type),"bill_status", type);
         queryWrapper.between("sub_date", startTime, endTime);
         Page<BillIsolate> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
         return new Result(ResultCode.SUCCESS, billIsolateMapper.selectPage(page, queryWrapper));

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

@@ -2,13 +2,14 @@ package com.huimv.receive.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huimv.receive.common.token.TokenSign;
-import com.huimv.receive.common.utils.Result;
-import com.huimv.receive.common.utils.ResultCode;
-import com.huimv.receive.common.utils.UploadImage;
+import com.huimv.receive.common.utils.*;
+import com.huimv.receive.entity.BillClean;
 import com.huimv.receive.entity.BillLuggage;
+import com.huimv.receive.entity.vo.LuggageVo;
 import com.huimv.receive.mapper.BillLuggageMapper;
 import com.huimv.receive.service.IBillLuggageService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -17,10 +18,11 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.Map;
+import java.util.*;
 
 /**
  * <p>
@@ -69,6 +71,70 @@ public class BillLuggageServiceImpl extends ServiceImpl<BillLuggageMapper, BillL
         return new Result(ResultCode.SUCCESS,billLuggagePage,billLuggagePage.getSize());
     }
 
+    @Override
+    public Result listLuggage(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String type = paramsMap.get("type");
+        if ("".equals(type) || null == type) {
+            type = "3";
+        }
+        List<LuggageVo> luggageVos = null;
+        QueryWrapper<BillLuggage> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        if ("3".equals(type)) {
+            Date timesMonthmorning = DataUill.getTimesMonthmorning();
+            queryWrapper.ge("luggage_date", timesMonthmorning);
+        } else if ("2".equals(type)) {
+            Calendar calendar = Calendar.getInstance();
+            calendar.set(Calendar.DATE, calendar.get(Calendar.DATE - 7));
+            queryWrapper.ge("luggage_date", calendar.getTime());
+        } else if ("1".equals(type)) {
+            Date timesmorning = DataUill.getTimesmorning();
+            queryWrapper.ge("luggage_date", timesmorning);
+        }
+        luggageVos = billLuggageMapper.list(queryWrapper);
+        return new Result(ResultCode.SUCCESS, luggageVos);
+    }
+
+    @Override
+    public Result selectLuggage(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String word = paramsMap.get("word");
+        String startTime = paramsMap.get("startTime");
+        String endTime = paramsMap.get("endTime");
+        String pageNum = paramsMap.get("pageNum");
+        String pageSize = paramsMap.get("pageSize");
+        if ("".equals(pageNum) || null == pageNum) {
+            pageNum = "1";
+        }
+        if ("".equals(pageSize) || null == pageSize) {
+            pageSize = "10";
+        }
+        if ("".equals(startTime) || null == startTime) {
+            startTime = DataUill.getTimesmorning().toString();
+            endTime = LocalDateTime.now() + " 23:59:59";
+        }
+        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.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));
+    }
+
+    @Override
+    public void printLuggage(HttpServletResponse httpServletRequest, Map<String, String> paramsMap) throws Exception {
+        String ids = paramsMap.get("ids");
+        String[] split = ids.split(",");
+        List<BillLuggage> list = new ArrayList<>();
+        for (String s : split) {
+            BillLuggage admission = billLuggageMapper.selectById(s);
+            list.add(admission);
+        }
+        Print.printLuggage(list);
+    }
+
     public String getUrl(String content, MultipartFile image) throws IOException {
         if (ObjectUtil.isNotEmpty(image)){
             if ( !"".equals(content)){

+ 162 - 23
huimv-receive/src/main/java/com/huimv/receive/service/impl/BillPcrServiceImpl.java

@@ -5,12 +5,14 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huimv.receive.common.token.TokenSign;
+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.huimv.receive.entity.BaseLocation;
-import com.huimv.receive.entity.BaseProcess;
-import com.huimv.receive.entity.BillClean;
-import com.huimv.receive.entity.BillPcr;
+import com.huimv.receive.entity.*;
+import com.huimv.receive.entity.dto.PcrDto;
+import com.huimv.receive.entity.vo.PcrVo;
+import com.huimv.receive.entity.vo.PcrVo1;
 import com.huimv.receive.mapper.*;
 import com.huimv.receive.service.IBillPcrService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -18,13 +20,11 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
@@ -55,6 +55,153 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
         return new Result(ResultCode.SUCCESS, billPcrPage,billPcrMapper.selectCount(queryWrapper));
     }
 
+    @Override
+    public Result pcrWhole(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        Date timesmorning = DataUill.getTimesmorning();
+        QueryWrapper<BillPcr> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId).eq("bill_status", 1).ge("sub_date", timesmorning);//今日合格
+        Integer count = billPcrMapper.selectCount(queryWrapper);
+        QueryWrapper<BillPcr> queryWrapper1 = new QueryWrapper<>();
+        queryWrapper1.eq("farm_id", farmId).eq("bill_status", 2).ge("sub_date", timesmorning);//今日异常
+        Integer count1 = billPcrMapper.selectCount(queryWrapper1);
+        QueryWrapper<BillPcr> queryWrapper2 = new QueryWrapper<>();
+        queryWrapper2.eq("farm_id", farmId).eq("bill_status", 3).ge("sub_date", timesmorning);//今日失效
+        Integer count2 = billPcrMapper.selectCount(queryWrapper2);
+        PcrDto dto = new PcrDto();
+        dto.setWholeCount(count + count1);
+        dto.setPassCount(count);
+        dto.setRefuseCount(count1);
+        dto.setLoseCount(count2);
+        return new Result(ResultCode.SUCCESS, dto);
+    }
+
+    @Override
+    public Result listType(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String type = paramsMap.get("type");
+        if ("".equals(type) || null == type) {
+            type = "1";
+        }
+        List<PcrVo> pcrVos = null;
+        QueryWrapper<BillPcr> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId).in("bill_status", 1, 2);
+        if ("1".equals(type)) {
+            Date timesmorning = DataUill.getTimesmorning();
+            queryWrapper.ge("sub_date", timesmorning);
+
+        } else if ("2".equals(type)) {
+            Calendar calendar = Calendar.getInstance();
+            calendar.set(Calendar.DATE,calendar.get(Calendar.DATE)-7);
+            queryWrapper.ge("sub_date", calendar.getTime());
+
+        } else if ("3".equals(type)) {
+            Date monthmorning = DataUill.getTimesMonthmorning();
+            queryWrapper.ge("sub_date",monthmorning);
+
+        }
+        pcrVos = billPcrMapper.listPcr(queryWrapper);
+        return new Result(ResultCode.SUCCESS, pcrVos);
+    }
+
+    @Override
+    public Result listLocation(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String type = paramsMap.get("type");
+        if ("".equals(type) || null == type) {
+            type = "1";
+        }
+        List<PcrVo> pcrVos = null;
+        QueryWrapper<BillPcr> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId).in("bill_status", 1, 2);
+        if ("1".equals(type)) {
+            Date timesmorning = DataUill.getTimesmorning();
+            queryWrapper.ge("sub_date", timesmorning);
+        } else if ("2".equals(type)) {
+            Calendar calendar = Calendar.getInstance();
+            calendar.set(Calendar.DATE,calendar.get(Calendar.DATE)-7);
+            queryWrapper.ge("sub_date", calendar.getTime());
+        } else if ("3".equals(type)) {
+            Date monthmorning = DataUill.getTimesMonthmorning();
+            queryWrapper.ge("sub_date",monthmorning);
+        }
+        pcrVos = billPcrMapper.listLocation(queryWrapper);
+        return new Result(ResultCode.SUCCESS, pcrVos);
+    }
+
+    @Override
+    public Result listAll(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String personType = paramsMap.get("personType");
+        String type = paramsMap.get("type");
+        if ("".equals(type) || null == type) {
+            type = "1";
+        }
+        List<PcrVo1> pcrVos = null;
+        QueryWrapper<BillPcr> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId).in("bill_status", 1, 2);
+        if ("".equals(personType) || null == personType) {
+
+        }else {
+            queryWrapper.eq("vistit_type", personType);
+        }
+        if ("1".equals(type)) {
+            Date timesmorning = DataUill.getTimesmorning();
+            queryWrapper.ge("sub_date", timesmorning);
+        } else if ("2".equals(type)) {
+            Calendar calendar = Calendar.getInstance();
+            calendar.set(Calendar.DATE,calendar.get(Calendar.DATE)-7);
+            queryWrapper.ge("sub_date", calendar.getTime());
+        } else if ("3".equals(type)) {
+            Date monthmorning = DataUill.getTimesMonthmorning();
+            queryWrapper.ge("sub_date",monthmorning);
+        }
+        pcrVos = billPcrMapper.listAll(queryWrapper);
+        for (PcrVo1 pcrVo : pcrVos) {
+            pcrVo.setAllCount(pcrVo.getPassCount() + pcrVo.getRefuseCount());
+        }
+        return new Result(ResultCode.SUCCESS, pcrVos);
+    }
+
+    @Override
+    public Result selectList(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String type = paramsMap.get("type");//来访类型
+        String destId = paramsMap.get("destId");//目的地
+        String startTime = paramsMap.get("startTime");
+        String endTime = paramsMap.get("endTime");
+        String pageNum = paramsMap.get("pageNum");
+        String pageSize = paramsMap.get("pageSize");
+        if ("".equals(pageNum) || null == pageNum) {
+            pageNum = "1";
+        }
+        if ("".equals(pageSize) || null == pageSize) {
+            pageSize = "10";
+        }
+        if ("".equals(startTime) || null == startTime) {
+            startTime = DataUill.getTimesmorning().toString();
+            endTime = LocalDateTime.now() + " 23:59:59";
+        }
+        QueryWrapper<BillPcr> queryWrapper = new QueryWrapper<>();
+        queryWrapper.in("bill_status", 1, 2);
+        queryWrapper.eq("farm_id", farmId).eq(StringUtils.isNotBlank(destId),"dest_id", destId).eq(StringUtils.isNotBlank(type),"vistit_type",type);
+        queryWrapper.between("check_date", startTime, endTime);
+        Page<BillPcr> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
+        return new Result(ResultCode.SUCCESS, billPcrMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public void printPcr(HttpServletResponse httpServletRequest, Map<String, String> paramsMap) throws Exception {
+        String ids = paramsMap.get("ids");
+        String[] split = ids.split(",");
+        List<BillPcr> list = new ArrayList<>();
+        for (String s : split) {
+            BillPcr admission = billPcrMapper.selectById(s);
+            list.add(admission);
+        }
+        Print.printPcr(list);
+    }
+
     @Autowired
     private BillPcrMapper pcrMapper;
     @Autowired
@@ -65,6 +212,8 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
     private BillCleanMapper cleanMapper;
     @Autowired
     private BillGoodsInventoryMapper goodsInventoryMapper;
+    @Autowired
+    private ConfigurationMapper configurationMapper;
 
     @Override
     public Result list(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
@@ -135,6 +284,9 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
         locationQueryWrapper.eq("farm_id", farmId).eq("id", billPcr.getTestLocationId());
         BaseLocation baseLocation = locationMapper.selectOne(locationQueryWrapper);//当前pcr检测所在的位置
 
+        QueryWrapper<Configuration> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        Configuration configuration = configurationMapper.selectOne(queryWrapper);
 
         if (baseProcess.getProcessType() == 2 || baseProcess.getProcessType() == 1) {
             return new Result(10001, "修改失败!该申请已提前结束或者被拒绝", false);
@@ -148,7 +300,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
                     billPcr.setTestLocationId(baseLocation.getId());
                     billPcr.setCheckDate(sdf.parse(date));
                     billPcr.setPassDate(sdf.parse(sdf.format(new Date())));
-                    billPcr.setQualifiedDate("2小时");
+                    billPcr.setQualifiedDate(configuration.getPcr());
 
 
                     //通过生成洗消记录
@@ -261,7 +413,7 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
                     billPcr.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
                     billPcr.setTestLocation(baseLocation.getLocationName());
                     billPcr.setTestLocationId(baseLocation.getId());
-                    billPcr.setQualifiedDate("2小时");
+                    billPcr.setQualifiedDate(configuration.getPcr());
                     billPcr.setCheckDate(sdf.parse(date));
                     billPcr.setPassDate(sdf.parse(sdf.format(new Date())));
 
@@ -274,19 +426,6 @@ public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> impl
                     baseProcess.setProcessType(1);
                     processMapper.updateById(baseProcess);
                     pcrMapper.updateById(billPcr);
-                    ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(10);
-                    Runnable task = new Runnable() {
-                        @Override
-                        public void run() {
-                            //这里写业务
-                            billPcr.setBillStatus(3);
-                            pcrMapper.updateById(billPcr);
-                        }
-                    };
-                    // 设定延迟时间(两小时后执行,单位为秒)
-                    long delay = 60 * 60 * 2;
-                    // 执行定时任务
-                    scheduler.schedule(task, delay, TimeUnit.SECONDS);
                     return new Result(10000, "修改成功!", true);
                 } else {
                     if (baseLocation.getId() == 1) {

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

@@ -480,8 +480,12 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
         if ("".equals(pageSize) || null == pageSize) {
             pageSize = "10";
         }
+        if ("".equals(startTime) || null == startTime) {
+            startTime = DataUill.getTimesmorning().toString();
+            endTime = LocalDateTime.now() + " 23:59:59";
+        }
         QueryWrapper<BillPersonnelAdmission> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_id", farmId).eq("dest_id", destId);
+        queryWrapper.eq("farm_id", farmId).eq(StringUtils.isNotBlank(destId),"dest_id", destId).eq(StringUtils.isNotBlank(type),"vistit_type",type);
         queryWrapper.between("sub_date", startTime, endTime);
         Page<BillPersonnelAdmission> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
         return new Result(ResultCode.SUCCESS, billPersonnelAdmissionMapper.selectPage(page, queryWrapper));

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

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

+ 23 - 0
huimv-receive/src/main/java/com/huimv/receive/timer/SafeTimer.java

@@ -3,8 +3,10 @@ package com.huimv.receive.timer;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.receive.entity.BillIsolate;
+import com.huimv.receive.entity.BillPcr;
 import com.huimv.receive.service.IBillIsolateService;
 import com.huimv.receive.service.IBillPcrService;
+import com.huimv.receive.service.IConfigurationService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.scheduling.annotation.EnableScheduling;
@@ -12,6 +14,8 @@ import org.springframework.scheduling.annotation.Scheduled;
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.Date;
 import java.util.List;
 
@@ -24,6 +28,8 @@ public class SafeTimer {
     private IBillPcrService pcrService;
     @Autowired
     private IBillIsolateService isolateService;
+    @Autowired
+    private IConfigurationService configurationService;
 
 
     @Scheduled(cron = "0 0/1 * * * ? ")
@@ -44,4 +50,21 @@ public class SafeTimer {
         }
     }
 
+    @Scheduled(cron = "0 0/1 * * * ? ")
+    private void pcr() throws Exception {
+        QueryWrapper<BillPcr> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("bill_status", 0);
+        List<BillPcr> pcrs = pcrService.list(queryWrapper);
+        Date date = new Date();
+        for (BillPcr pcr : pcrs) {
+            LocalDateTime subDate = pcr.getSubDate();
+            // 将LocalDateTime转换为Date
+            Date date1 = Date.from(subDate.atZone(ZoneId.systemDefault()).toInstant());
+            if ((date1.getTime() + pcr.getQualifiedDate() * 60 * 60 * 1000) >= date.getTime()) {
+                pcr.setBillStatus(3);
+                pcrService.updateById(pcr);
+            }
+        }
+    }
+
 }

+ 15 - 0
huimv-receive/src/main/resources/com/huimv/receive/mapper/BillCleanMapper.xml

@@ -105,4 +105,19 @@
         </foreach>
         ORDER BY sub_date DESC
     </select>
+
+    <select id="listAll" resultType="com.huimv.receive.entity.vo.CleanVo">
+        SELECT
+    DATE(sub_date) as dateTime,
+    SUM(CASE WHEN bill_status = 1 THEN 1 ELSE 0 END) AS passCount,
+    SUM(CASE WHEN bill_status = 2 THEN 1 ELSE 0 END) AS refuseCount
+FROM
+    `bill_clean`
+
+    ${ew.customSqlSegment}
+GROUP BY
+    DATE(sub_date)
+ORDER BY
+    DATE(sub_date)
+    </select>
 </mapper>

+ 6 - 0
huimv-receive/src/main/resources/com/huimv/receive/mapper/BillLuggageMapper.xml

@@ -14,4 +14,10 @@
         <result column="article_pic_url" property="articlePicUrl" />
     </resultMap>
 
+    <select id="list" resultType="com.huimv.receive.entity.vo.LuggageVo">
+        select count(*) count,luggage_date dateTime from bill_luggage
+        ${ew.customSqlSegment}
+        group by DATE_FORMAT(luggage_date,"%y-%m-%d")
+        order by luggage_date asc
+    </select>
 </mapper>

+ 25 - 0
huimv-receive/src/main/resources/com/huimv/receive/mapper/BillPcrMapper.xml

@@ -24,4 +24,29 @@
         <result column="test_location_id" property="testLocationId" />
     </resultMap>
 
+    <select id="listPcr" resultType="com.huimv.receive.entity.vo.PcrVo">
+        select count(*) count,vistit_type type from bill_pcr
+        ${ew.customSqlSegment}
+        group by vistit_type
+    </select>
+
+    <select id="listLocation" resultType="com.huimv.receive.entity.vo.PcrVo">
+        select count(*) count,test_location type from bill_pcr
+        ${ew.customSqlSegment}
+        group by test_location_id
+    </select>
+    <select id="listAll" resultType="com.huimv.receive.entity.vo.PcrVo1">
+        SELECT
+    DATE(sub_date) as dateTime,
+    SUM(CASE WHEN bill_status = 1 THEN 1 ELSE 0 END) AS passCount,
+    SUM(CASE WHEN bill_status = 2 THEN 1 ELSE 0 END) AS refuseCount
+FROM
+    `bill_pcr`
+
+    ${ew.customSqlSegment}
+GROUP BY
+    DATE(sub_date)
+ORDER BY
+    DATE(sub_date)
+    </select>
 </mapper>

+ 5 - 0
huimv-receive/src/main/resources/mapper/ConfigurationMapper.xml

@@ -0,0 +1,5 @@
+<?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.ConfigurationMapper">
+
+</mapper>