Parcourir la source

小程序修改

wwh il y a 1 an
Parent
commit
f6aa1bf6db

+ 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 = "/opt/huatong/admission.xls";
+        String path = "/opt/huatong/isolate.xls";
         PdfUtil.returnPdfStream3(response, path, "隔离详情列表");
     }
 

+ 24 - 3
huimv-receive/src/main/java/com/huimv/receive/service/impl/BillCleanServiceImpl.java

@@ -254,8 +254,9 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
                         String[] split1 = status.split(",");
                         split1[0] = "2";
                         split1[1] = "2";
-                        split1[2] = "1";
-                        baseProcess.setAllLocationStatus(split1[0] +","+ split1[1] +","+split1[2]+ status.substring(5));
+                        split1[2] = "2";
+                        split1[3] = "1";
+                        baseProcess.setAllLocationStatus(split1[0] +","+ split1[1] +","+split1[2]+","+split1[3]+ status.substring(7));
                     }
                     if (baseLocation.getId() == 3) {
                         //生成隔离申请
@@ -342,7 +343,7 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
                             split1[2] = "2";
                             split1[3] = "2";
                             split1[4] = "2";
-                            baseProcess.setAllLocationStatus(split1[0]+"," + split1[1] +","+ split1[2] +","+ split1[3] +","+ split1[4]);
+                            baseProcess.setAllLocationStatus(split1[0] + "," + split1[1] + "," + split1[2] + "," + split1[3] + "," + split1[4] + "," + "1");
 
                         }
                     }
@@ -362,6 +363,26 @@ public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean
                     billClean.setCheckDate(sdf.parse(date));
                     billClean.setPassDate(sdf.parse(sdf.format(new Date())));
 
+                    if (baseLocation.getId() == 1 && baseProcess.getDestId() > 2) {
+                        String status = baseProcess.getAllLocationStatus();
+                        String[] split1 = status.split(",");
+                        split1[0] = "2";
+                        split1[1] = "2";
+                        split1[2] = "2";
+                        split1[3] = "3";
+                        baseProcess.setAllLocationStatus(split1[0] +","+ split1[1] +","+split1[2]+","+split1[3]+ status.substring(7));
+                    }
+                    if (baseLocation.getId() == 3||baseLocation.getId() == 4) {
+                        String status = baseProcess.getAllLocationStatus();
+                        String[] split1 = status.split(",");
+                        split1[0] = "2";
+                        split1[1] = "2";
+                        split1[2] = "2";
+                        split1[3] = "3";
+                        split1[4] = "0";
+                        baseProcess.setAllLocationStatus(split1[0]+"," + split1[1] +","+ split1[2] +","+ split1[3] +","+ split1[4]+status.substring(9));
+                    }
+
                     baseProcess.setProcessType(2);
                     baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
                     baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());

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

@@ -19,6 +19,7 @@ import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.util.*;
 
@@ -35,14 +36,15 @@ public class BillIsolateServiceImpl extends ServiceImpl<BillIsolateMapper, BillI
 
     @Resource
     private BillIsolateMapper billIsolateMapper;
+
     @Override
     public Result listPersonalIsolate(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
         String pageNo = paramsMap.get("pageNum");
         String pageSize = paramsMap.get("pageSize");
-        Page<BillIsolate> page = new Page<>(Integer.parseInt(pageNo),Integer.parseInt(pageSize));
+        Page<BillIsolate> page = new Page<>(Integer.parseInt(pageNo), Integer.parseInt(pageSize));
         QueryWrapper<BillIsolate> queryWrapper = new QueryWrapper<>();
         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));
+        return new Result(ResultCode.SUCCESS, billIsolateMapper.selectPage(page, new QueryWrapper<BillIsolate>().eq("admission_user_id", TokenSign.getMemberIdByJwtToken(httpServletRequest)).orderByDesc("sub_date")), billIsolateMapper.selectCount(queryWrapper));
     }
 
     @Override
@@ -61,7 +63,7 @@ public class BillIsolateServiceImpl extends ServiceImpl<BillIsolateMapper, BillI
             queryWrapper.in("isolate_location_id", 3, 4);
         } else if ("1".equals(type)) {
             queryWrapper.eq("isolate_location_id", 3);
-        }else if ("2".equals(type)) {
+        } else if ("2".equals(type)) {
             queryWrapper.eq("isolate_location_id", 4);
         }
         //今日
@@ -98,16 +100,20 @@ public class BillIsolateServiceImpl extends ServiceImpl<BillIsolateMapper, BillI
         if ("".equals(pageSize) || null == pageSize) {
             pageSize = "10";
         }
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        Date date = new Date();
         if ("".equals(startTime) || null == startTime) {
-            startTime = DataUill.getTimesmorning().toString();
-            endTime = LocalDateTime.now() + " 23:59:59";
+            startTime = sdf.format(date) + " 00:00:00";
+            endTime = sdf.format(date) + " 23:59:59";
         }
         QueryWrapper<BillIsolate> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("farm_id", farmId);
-        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);
+        if (StringUtils.isNotBlank(word)){
+            queryWrapper.and(i -> i.like("phone", word)
+                    .or().like( "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);
         Page<BillIsolate> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
         return new Result(ResultCode.SUCCESS, billIsolateMapper.selectPage(page, queryWrapper));

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

@@ -80,13 +80,12 @@ public class BillLuggageServiceImpl extends ServiceImpl<BillLuggageMapper, BillL
         }
         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));
+            calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
             queryWrapper.ge("luggage_date", calendar.getTime());
         } else if ("1".equals(type)) {
             Date timesmorning = DataUill.getTimesmorning();
@@ -115,9 +114,10 @@ public class BillLuggageServiceImpl extends ServiceImpl<BillLuggageMapper, BillL
             endTime = LocalDateTime.now() + " 23:59:59";
         }
         QueryWrapper<BillLuggage> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_id", farmId);
-        queryWrapper.and(i -> i.like(StringUtils.isNotBlank(word), "phone", word)
-                .or().like(StringUtils.isNotBlank(word), "user_name", word));
+        if (StringUtils.isNotBlank(word)) {
+            queryWrapper.and(i -> i.like( "phone", word)
+                    .or().like("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));

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

@@ -126,14 +126,14 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
             baseProcess.setAllLocation("场外," + destName);
             QueryWrapper<BaseLocation> queryWrapper1 = new QueryWrapper<>();
             queryWrapper1.eq("farm_id", farmId).eq("vistit_type", vistitType).eq("location_type", 0);
-            baseProcess.setCurrentLocationId(baseLocationMapper.selectOne(queryWrapper1).getId() + "," + destId);
+            baseProcess.setAllLocationId(baseLocationMapper.selectOne(queryWrapper1).getId() + "," + destId);
             baseProcess.setAllLocationStatus("1,0");
         } else {
             String allLocation = "";
             String allLocationId = "";
             String allLocationStatus = "";
             for (BaseLocation baseLocation : baseLocations) {
-                if (baseLocation.getId() < Integer.parseInt(destId)) {
+                if (baseLocation.getId() < Integer.parseInt(destId)||baseLocation.getId()>=20) {
                     allLocation = allLocation + baseLocation.getLocationName() + ",";
                     allLocationId = allLocationId + baseLocation.getId() + ",";
                     allLocationStatus = allLocationStatus + "0" + ",";
@@ -850,7 +850,7 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
             queryWrapper.eq("bill_status", 3);
         }
         QueryWrapper<BillIsolate> queryWrapper1 = new QueryWrapper<>();
-        queryWrapper1.eq("farm_id", farmId).orderByDesc("sub_date").eq("bill_status", 0);
+        queryWrapper1.eq("farm_id", farmId).eq("bill_status", 0);
         return new Result(ResultCode.SUCCESS, isolateMapper.selectPage(page, queryWrapper), isolateMapper.selectCount(queryWrapper1));
     }
 

+ 91 - 15
huimv-receive/src/main/java/com/huimv/receive/timer/SafeTimer.java

@@ -3,13 +3,10 @@ package com.huimv.receive.timer;
 
 import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.huimv.receive.entity.BillIsolate;
-import com.huimv.receive.entity.SysUser;
-import com.huimv.receive.entity.BillPcr;
-import com.huimv.receive.service.IBillIsolateService;
-import com.huimv.receive.service.IBillPcrService;
-import com.huimv.receive.service.ISysUserService;
-import com.huimv.receive.service.IConfigurationService;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.huimv.receive.common.token.TokenSign;
+import com.huimv.receive.entity.*;
+import com.huimv.receive.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.scheduling.annotation.EnableScheduling;
@@ -19,6 +16,7 @@ import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
+import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 
@@ -36,6 +34,12 @@ public class SafeTimer {
 
     @Autowired
     private ISysUserService sysUserService;
+    @Autowired
+    private IBaseProcessService processService;
+    @Autowired
+    private IBaseLocationService locationService;
+    @Autowired
+    private IBillCleanService cleanService;
 
 
     @Scheduled(cron = "0 0/1 * * * ? ")
@@ -44,14 +48,86 @@ public class SafeTimer {
         queryWrapper.eq("bill_status", 1);
         List<BillIsolate> isolates = isolateService.list(queryWrapper);
         Date date = new Date();
-        for (BillIsolate isolate : isolates) {
-            if (isolate.getIsolateEndDate().getTime() <= date.getTime()) {
-                isolate.setIsolateRealEndDate(date);
-                isolate.setIsolateRealDayNum(isolate.getIsolateDayNum());
-                isolate.setBillStatus(2);
-                isolate.setPassUserName("自然解除隔离");
-                isolate.setPassDate(date);
-                isolateService.updateById(isolate);
+        for (BillIsolate billIsolate : isolates) {
+            if (billIsolate.getIsolateEndDate().getTime() <= date.getTime()) {
+                billIsolate.setIsolateRealEndDate(date);
+                billIsolate.setIsolateRealDayNum(billIsolate.getIsolateDayNum());
+                billIsolate.setBillStatus(2);
+                billIsolate.setPassUserName("自然解除隔离");
+                billIsolate.setPassDate(date);
+                BaseProcess baseProcess = processService.getById(billIsolate.getProcessId());
+                QueryWrapper<BaseLocation> locationQueryWrapper = new QueryWrapper<>();
+                locationQueryWrapper.eq("id", billIsolate.getIsolateLocationId());
+                BaseLocation baseLocation = locationService.getOne(locationQueryWrapper);//当前隔离所在的位置
+
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                String end = sdf.format(billIsolate.getIsolateEndDate());
+                String start = sdf.format(billIsolate.getIsolateStartDate());
+                String now = sdf.format(new Date());
+                if (baseProcess.getDestId().equals(billIsolate.getIsolateLocationId()) || baseProcess.getDestId() >= 13) {
+                    //目的地就是当前隔离地点
+                    baseProcess.setProcessType(1);
+                    baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
+                    baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId());
+                } else {
+                    baseProcess.setProcessType(0);
+                    baseProcess.setCurrentLocation(baseProcess.getCurrentLocation() + "," + baseLocation.getNextLocation());
+                    baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() + "," + baseLocation.getNextId());
+                }
+                if (billIsolate.getIsolateLocationId() == 3 && baseProcess.getDestId() >= 4) {
+                    //通过生成洗消记录
+                    BillClean billClean = new BillClean();
+                    billClean.setVistitType(billIsolate.getVistitType());
+                    billClean.setDestName(billIsolate.getDestName());
+                    billClean.setDestId(billIsolate.getDestId());
+                    billClean.setAdmissionUserName(billIsolate.getAdmissionUserName());
+                    billClean.setAdmissionUserId(billIsolate.getAdmissionUserId());
+                    billClean.setVistitDate(billIsolate.getVistitDate());
+                    billClean.setSubDate(LocalDateTime.now());
+                    billClean.setFarmId(billIsolate.getFarmId());
+                    billClean.setPassUserName(billIsolate.getPassUserName());
+                    billClean.setPassDate(billIsolate.getPassDate());
+                    billClean.setPassUserId(billIsolate.getPassUserId());
+                    billClean.setProcessId(billIsolate.getProcessId());
+                    billClean.setTestLocation("场内");
+                    billClean.setTestLocationId(4);
+                    billClean.setPhone(billIsolate.getPhone());
+                    cleanService.save(billClean);
+
+                    String status = baseProcess.getAllLocationStatus();
+                    String[] split = status.split(",");
+                    split[0] = "2";
+                    split[1] = "2";
+                    split[2] = "2";
+                    split[3] = "2";
+                    split[4] = "1";
+                    baseProcess.setAllLocationStatus(split[0] + "," + split[1] + "," + split[2] + "," + split[3]+"," +split[4]+ status.substring(9));
+                }
+
+                billIsolate.setIsolateRealEndDate(new Date());
+                SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
+                Calendar cal1 = Calendar.getInstance();
+                Calendar cal2 = Calendar.getInstance();
+                Date startDate = sdf1.parse(start);
+                Date endDate = sdf1.parse(now);
+                cal1.setTime(startDate);
+                cal2.setTime(endDate);
+                long days = (cal2.getTimeInMillis() - cal1.getTimeInMillis()) / (1000 * 3600 * 24);
+                billIsolate.setIsolateRealDayNum(Long.toString(days));
+                billIsolate.setBillStatus(2);
+
+                baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + now);
+
+                String status = baseProcess.getCurrentStatus();
+                String substring = status.substring(0, status.length() - 1);
+                baseProcess.setCurrentStatus(substring + "1," + 0);
+
+                if (billIsolate.getIsolateLocationId() == 5) {
+                    baseProcess.setAllLocationStatus("2,2,2,2,2,2");
+                }
+
+                isolateService.updateById(billIsolate);
+                processService.updateById(baseProcess);
             }
         }
     }