wwh 1 rok pred
rodič
commit
cc7bb9b51b

+ 0 - 142
huimv-receive/src/main/java/com/huimv/receive/common/utils/Digests.java

@@ -1,142 +0,0 @@
-//
-// Source code recreated from a .class file by IntelliJ IDEA
-// (powered by Fernflower decompiler)
-//
-
-package com.huimv.receive.common.utils;
-
-import org.apache.commons.lang3.Validate;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.security.GeneralSecurityException;
-import java.security.MessageDigest;
-import java.security.SecureRandom;
-
-public class Digests {
-    private static final String SHA1 = "SHA-1";
-    private static final String MD5 = "MD5";
-    private static SecureRandom random = new SecureRandom();
-
-    public Digests() {
-    }
-
-    public static byte[] md5(byte[] input) {
-        return digest(input, "MD5", (byte[])null, 1);
-    }
-
-    public static byte[] md5(byte[] input, int iterations) {
-        return digest(input, "MD5", (byte[])null, iterations);
-    }
-
-    public static byte[] sha1(byte[] input) {
-        return digest(input, "SHA-1", (byte[])null, 1);
-    }
-
-    public static byte[] sha1(byte[] input, byte[] salt) {
-        return digest(input, "SHA-1", salt, 1);
-    }
-
-    public static byte[] sha1(byte[] input, byte[] salt, int iterations) {
-        return digest(input, "SHA-1", salt, iterations);
-    }
-
-    private static byte[] digest(byte[] input, String algorithm, byte[] salt, int iterations) {
-        try {
-            MessageDigest digest = MessageDigest.getInstance(algorithm);
-            if (salt != null) {
-                digest.update(salt);
-            }
-
-            byte[] result = digest.digest(input);
-
-            for(int i = 1; i < iterations; ++i) {
-                digest.reset();
-                result = digest.digest(result);
-            }
-
-            return result;
-        } catch (GeneralSecurityException var7) {
-            throw new RuntimeException(var7);
-        }
-    }
-
-    public static byte[] generateSalt(int numBytes) {
-        Validate.isTrue(numBytes > 0, "numBytes argument must be a positive integer (1 or larger)", (long)numBytes);
-        byte[] bytes = new byte[numBytes];
-        random.nextBytes(bytes);
-        return bytes;
-    }
-
-    public static byte[] md5(InputStream input) throws IOException {
-        return digest(input, "MD5");
-    }
-
-    public static byte[] sha1(InputStream input) throws IOException {
-        return digest(input, "SHA-1");
-    }
-
-    private static byte[] digest(InputStream input, String algorithm) throws IOException {
-        try {
-            MessageDigest messageDigest = MessageDigest.getInstance(algorithm);
-            int bufferLength = 8192;
-            byte[] buffer = new byte[bufferLength];
-
-            for(int read = input.read(buffer, 0, bufferLength); read > -1; read = input.read(buffer, 0, bufferLength)) {
-                messageDigest.update(buffer, 0, read);
-            }
-
-            return messageDigest.digest();
-        } catch (GeneralSecurityException var6) {
-            throw new RuntimeException(var6);
-        }
-    }
-
-    public static final String md5(String s) {
-        char[] hexDigits = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
-
-        try {
-            MessageDigest mdTemp = MessageDigest.getInstance("MD5");
-
-            try {
-                mdTemp.update(s.getBytes("UTF-8"));
-            } catch (UnsupportedEncodingException var9) {
-                mdTemp.update(s.getBytes());
-            }
-
-            byte[] md = mdTemp.digest();
-            int j = md.length;
-            char[] str = new char[j * 2];
-            int k = 0;
-
-            for(int i = 0; i < j; ++i) {
-                byte byte0 = md[i];
-                str[k++] = hexDigits[byte0 >>> 4 & 15];
-                str[k++] = hexDigits[byte0 & 15];
-            }
-
-            return (new String(str)).toUpperCase();
-        } catch (Exception var10) {
-            return null;
-        }
-    }
-
-    public static final String buildToken(String url, String paramJson, String secret) {
-        String tempUrl = null;
-        if (url.contains("https://")) {
-            tempUrl = url.substring("https://".length());
-        } else {
-            tempUrl = url.substring("http://".length());
-        }
-
-        int index = tempUrl.indexOf("/");
-        String URI = tempUrl.substring(index);
-        String[] ss = URI.split("\\?");
-        return ss.length > 1 ? md5(ss[0] + ss[1] + secret) : md5(ss[0] + paramJson + secret);
-    }
-
-    public static void main(String[] args) {
-        System.out.println(md5("abc"));
-    }
-}

+ 39 - 0
huimv-receive/src/main/java/com/huimv/receive/common/utils/Print.java

@@ -1,8 +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.dto.PrintAdmissionDto;
+import com.huimv.receive.entity.dto.PrintIsolateDto;
 import org.jxls.util.JxlsHelper;
 import org.jxls.common.Context;
 
@@ -10,6 +12,8 @@ import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
@@ -71,5 +75,40 @@ public class Print {
         JxlsHelper.getInstance().processTemplate(is, os, context);
     }
 
+    public static void printIsolate(List<BillIsolate> isolateList) throws Exception {
 
+        //准备数据
+        String path = "G://isolate.xls";
+        //获取模板文件,你自己当前模板的位置  我这里为当前项目下
+        InputStream is = new FileInputStream("G://isolate.xlsx");
+        //根据模板生成的文件保存路径  我这里保存在本地D盘
+        OutputStream os = new FileOutputStream(path);
+        //绑定数据
+        Context context = new Context();
+        List<PrintIsolateDto> list = new ArrayList<>();
+        for (BillIsolate billIsolate : isolateList) {
+            PrintIsolateDto dto = new PrintIsolateDto();
+            dto.setDestName(billIsolate.getDestName());
+            dto.setPhone(billIsolate.getPhone());
+            dto.setUserName(billIsolate.getAdmissionUserName());
+            if (billIsolate.getBillStatus() == 0) {
+                dto.setStatus("待隔离");
+            } else if (billIsolate.getBillStatus() == 1) {
+                dto.setStatus("隔离中");
+            } else if (billIsolate.getBillStatus()==2) {
+                dto.setStatus("已完成");
+            } else if (billIsolate.getBillStatus() == 3) {
+                dto.setStatus("提前解除");
+            }
+            dto.setLocation(billIsolate.getIsolateLocation());
+            dto.setNum(billIsolate.getIsolateDayNum());
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            dto.setStartTime(sdf.format(billIsolate.getIsolateStartDate()));
+            dto.setEndTime(sdf.format(billIsolate.getIsolateEndDate()));
+            list.add(dto);
+        }
+        context.putVar("list", list);
+        //生成
+        JxlsHelper.getInstance().processTemplate(is, os, context);
+    }
 }

+ 33 - 0
huimv-receive/src/main/java/com/huimv/receive/controller/BillIsolateController.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.IBillIsolateService;
@@ -8,6 +9,8 @@ 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.util.HashMap;
 import java.util.Map;
 
 /**
@@ -35,4 +38,34 @@ public class BillIsolateController {
         return new Result(ResultCode.SUCCESS,billIsolateService.getById(paramsMap.get("id")));
     }
 
+    //后台
+    @PostMapping("/isolateList")
+    public Result isolateList(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> paramsMap){
+        return billIsolateService.Isolate(httpServletRequest, paramsMap);
+    }
+
+    @PostMapping("/isolateSelect")
+    public Result isolateSelect(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> paramsMap){
+        return billIsolateService.IsolateSelect(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) {
+            billIsolateService.removeById(s);
+        }
+        return new Result(10000,"删除成功!",true);
+    }
+
+    @GetMapping("/printIsolate")
+    public void printIsolate(HttpServletResponse response, @RequestParam(name = "ids") String ids) throws Exception {
+        Map<String, String> map = new HashMap<>();
+        map.put("ids", ids);
+        billIsolateService.printIsolate(response, map);
+        String path = "G://admission.xls";
+        PdfUtil.returnPdfStream3(response, path, "隔离详情列表");
+    }
+
 }

+ 24 - 0
huimv-receive/src/main/java/com/huimv/receive/entity/dto/PrintIsolateDto.java

@@ -0,0 +1,24 @@
+package com.huimv.receive.entity.dto;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class PrintIsolateDto {
+    private String userName;
+
+    private String phone;
+
+    private String destName;
+
+    private String location;
+
+    private String startTime;
+
+    private String endTime;
+
+    private String num;
+
+    private String status;
+}

+ 18 - 0
huimv-receive/src/main/java/com/huimv/receive/entity/vo/IsolateVo.java

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

+ 9 - 0
huimv-receive/src/main/java/com/huimv/receive/mapper/BillIsolateMapper.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.BillPersonnelAdmission;
+import com.huimv.receive.entity.vo.BillAdmissionVo;
+import com.huimv.receive.entity.vo.IsolateVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +21,5 @@ import com.huimv.receive.entity.BillIsolate;
  */
 public interface BillIsolateMapper extends BaseMapper<BillIsolate> {
 
+    List<IsolateVo> Isolate(@Param(Constants.WRAPPER) QueryWrapper<BillIsolate> queryWrapper);
 }

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

@@ -5,6 +5,7 @@ import com.huimv.receive.common.utils.Result;
 import com.huimv.receive.entity.BillIsolate;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.Map;
 
 /**
@@ -18,4 +19,12 @@ import java.util.Map;
 public interface IBillIsolateService extends IService<BillIsolate> {
 
     Result listPersonalIsolate(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    //后台隔离曲线
+    Result Isolate(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    Result IsolateSelect(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    //导出
+    void printIsolate(HttpServletResponse httpServletRequest, Map<String, String> paramsMap) throws Exception;
 }

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

@@ -4,16 +4,21 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 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.BillIsolate;
+import com.huimv.receive.entity.BillPersonnelAdmission;
+import com.huimv.receive.entity.vo.IsolateVo;
 import com.huimv.receive.mapper.BillIsolateMapper;
 import com.huimv.receive.service.IBillIsolateService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
-import java.util.Map;
+import javax.servlet.http.HttpServletResponse;
+import java.util.*;
 
 /**
  * <p>
@@ -37,4 +42,77 @@ public class BillIsolateServiceImpl extends ServiceImpl<BillIsolateMapper, BillI
         queryWrapper.eq("admission_user_id", TokenSign.getMemberIdByJwtToken(httpServletRequest)).orderByDesc("isolate_start_date");
         return new Result(ResultCode.SUCCESS,billIsolateMapper.selectPage(page,new QueryWrapper<BillIsolate>().eq("admission_user_id", TokenSign.getMemberIdByJwtToken(httpServletRequest)).orderByDesc("isolate_start_date")),billIsolateMapper.selectCount(queryWrapper));
     }
+
+    @Override
+    public Result Isolate(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String type = paramsMap.get("type");//0全部  1为人员二级洗消站 2为生产区
+        if ("".equals(type) || null == type) {
+            type = "0";
+        }
+        String dateType = paramsMap.get("dateType");
+        if ("".equals(dateType) || null == dateType) {
+            dateType = "3";
+        }
+        List<IsolateVo> isolateVos = null;
+        QueryWrapper<BillIsolate> queryWrapper = new QueryWrapper<>();
+        if ("0".equals(type)) {
+            queryWrapper.in("isolate_location_id", 3, 4);
+        } else if ("1".equals(type)) {
+            queryWrapper.eq("isolate_location_id", 3);
+        }else if ("2".equals(type)) {
+            queryWrapper.eq("isolate_location_id", 4);
+        }
+        //今日
+        if ("1".equals(dateType)) {
+            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 timesMonthmorning = DataUill.getTimesMonthmorning();
+            queryWrapper.ge("sub_date", timesMonthmorning);
+        }
+        isolateVos = billIsolateMapper.Isolate(queryWrapper);
+        return new Result(ResultCode.SUCCESS, isolateVos);
+    }
+
+    @Override
+    public Result IsolateSelect(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String type = paramsMap.get("type");//隔离状态
+        String locationId = paramsMap.get("locationId");//隔离地点
+        String startTime = paramsMap.get("startTime");
+        String endTime = paramsMap.get("endTime");
+        String farmId = paramsMap.get("farmId");
+        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<BillIsolate> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        queryWrapper.eq("isolate_location_id", locationId);
+        queryWrapper.eq("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));
+    }
+
+    @Override
+    public void printIsolate(HttpServletResponse httpServletRequest, Map<String, String> paramsMap) throws Exception {
+        String ids = paramsMap.get("ids");
+        String[] split = ids.split(",");
+        List<BillIsolate> list = new ArrayList<>();
+        for (String s : split) {
+            BillIsolate admission = billIsolateMapper.selectById(s);
+            list.add(admission);
+        }
+        Print.printIsolate(list);
+    }
 }

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

@@ -27,4 +27,19 @@
         <result column="isolate_real_end_date" property="isolateRealEndDate" />
     </resultMap>
 
+    <select id="Isolate" resultType="com.huimv.receive.entity.vo.IsolateVo">
+        SELECT
+    DATE(sub_date) as dateTime,
+    SUM(CASE WHEN bill_status = 2 THEN 1 ELSE 0 END) AS count1,
+    SUM(CASE WHEN bill_status = 1 THEN 1 ELSE 0 END) AS count2,
+    SUM(CASE WHEN bill_status = 3 THEN 1 ELSE 0 END) AS count3
+FROM
+    `bill_isolate`
+
+    ${ew.customSqlSegment}
+GROUP BY
+    DATE(sub_date)
+ORDER BY
+    DATE(sub_date)
+    </select>
 </mapper>