Browse Source

提交隔离修改

wwh 1 year ago
parent
commit
004448b6f6

+ 118 - 67
huimv-admin/src/main/java/com/huimv/admin/service/impl/BillPersonnelAdmissionServiceImpl.java

@@ -76,14 +76,14 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Result addAdmission(HttpServletRequest httpServletRequest, String admissionType, String vistitType, String userName, String phone, String workName, String papersType, String papersCode, MultipartFile imgUrl,String img, String vistitDate, String vistitReson, String destId, String destName,String farmId) throws IOException {
+    public Result addAdmission(HttpServletRequest httpServletRequest, String admissionType, String vistitType, String userName, String phone, String workName, String papersType, String papersCode, MultipartFile imgUrl, String img, String vistitDate, String vistitReson, String destId, String destName, String farmId) throws IOException {
         Integer userId = TokenSign.getMemberIdByJwtToken(httpServletRequest);
         if (!PhoneNumberValidator.isValidPhoneNumber(phone)) {
-            return new Result(10001,"手机号格式错误!",false);
+            return new Result(10001, "手机号格式错误!", false);
         }
-        if (papersType.equals("0")){
-            if (!IDCardValidator.isValidIDCard(papersCode)){
-                return new Result(10001,"身份证号格式错误!",false);
+        if (papersType.equals("0")) {
+            if (!IDCardValidator.isValidIDCard(papersCode)) {
+                return new Result(10001, "身份证号格式错误!", false);
             }
         }
         DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
@@ -94,20 +94,20 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
         billPersonnelAdmission.setDestName(destName);
         billPersonnelAdmission.setAdmissionUserId(userId);
         billPersonnelAdmission.setAdmissionUserName(userName);
-        billPersonnelAdmission.setVistitDate(LocalDateTime.parse(vistitDate,dateTimeFormatter));
+        billPersonnelAdmission.setVistitDate(LocalDateTime.parse(vistitDate, dateTimeFormatter));
         billPersonnelAdmission.setSubDate(LocalDateTime.now());
         billPersonnelAdmission.setPhone(phone);
         billPersonnelAdmission.setWorkName(workName);
         billPersonnelAdmission.setPapersType(Integer.parseInt(papersType));
         billPersonnelAdmission.setPapersCode(papersCode);
-        if (ObjectUtil.isNotEmpty(imgUrl)){
+        if (ObjectUtil.isNotEmpty(imgUrl)) {
             if (uploadImage.getImageCom(imgUrl).equals("上传失败")) {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return new Result(10001,"图片上传失败",false);
+                return new Result(10001, "图片上传失败", false);
             }
             billPersonnelAdmission.setImgUrl(uploadImage.getImageCom(imgUrl));
         }
-        if (ObjectUtil.isNotEmpty(img)){
+        if (ObjectUtil.isNotEmpty(img)) {
             billPersonnelAdmission.setImgUrl(img);
         }
         billPersonnelAdmission.setVistitReson(vistitReson);
@@ -122,9 +122,9 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
         baseProcess.setCurrentStatus("0");
         //获取位置
         BaseLocation baseLocation = baseLocationMapper.selectOne(new QueryWrapper<BaseLocation>().eq("farm_id", farmId).eq("vistit_type", vistitType).eq("parent_id", 0));
-        if (ObjectUtil.isEmpty(baseLocation)){
+        if (ObjectUtil.isEmpty(baseLocation)) {
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return new Result(10001,"该来访类型位置不存在",false);
+            return new Result(10001, "该来访类型位置不存在", false);
         }
         baseProcess.setCurrentLocation(baseLocation.getLocationName());
         baseProcess.setCurrentLocationId(baseLocation.getId().toString());
@@ -139,9 +139,9 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
     public Result listPersonalAdmission(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
         String pageNo = paramsMap.get("pageNum");
         String pageSize = paramsMap.get("pageSize");
-        Page<BillPersonnelAdmission> page = new Page<>(Integer.parseInt(pageNo),Integer.parseInt(pageSize));
+        Page<BillPersonnelAdmission> page = new Page<>(Integer.parseInt(pageNo), Integer.parseInt(pageSize));
         Page<BillPersonnelAdmission> billPersonnelAdmissionPage = billPersonnelAdmissionMapper.selectPage(page, new QueryWrapper<BillPersonnelAdmission>().eq("admission_user_id", TokenSign.getMemberIdByJwtToken(httpServletRequest)).orderByDesc("sub_date"));
-        return new Result(ResultCode.SUCCESS,billPersonnelAdmissionPage);
+        return new Result(ResultCode.SUCCESS, billPersonnelAdmissionPage);
     }
 
     @Override
@@ -152,26 +152,27 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
         String farmId = paramsMap.get("farmId");
         QueryWrapper<BillPersonnelAdmission> queryWrapper = new QueryWrapper<>();
         Integer userType = TokenSign.getUserTypeByJwtToken(httpServletRequest);
-        if (userType == 3){
+        if (userType == 3) {
             //生物安全负责人
-            queryWrapper.eq("admission_type",0);
-        }else if (userType == 2){
+            queryWrapper.eq("admission_type", 0);
+        } else if (userType == 2) {
             //紧急入场
-            queryWrapper.ne("admission_type",0);
+            queryWrapper.ne("admission_type", 0);
         }
-        switch (type){
+        switch (type) {
             case "1":
-                queryWrapper.eq("bill_status",0);
+                queryWrapper.eq("bill_status", 0);
                 break;
             case "2":
-                queryWrapper.eq("bill_status",1);
+                queryWrapper.eq("bill_status", 1);
                 break;
             case "3":
-                queryWrapper.eq("bill_status",2);
+                queryWrapper.eq("bill_status", 2);
+                break;
+            default:
                 break;
-            default: break;
         }
-        queryWrapper.orderByDesc("sub_date").eq("farm_id",farmId);
+        queryWrapper.orderByDesc("sub_date").eq("farm_id", farmId);
 //        List<BaseLocation> baseLocations = baseLocationMapper.selectList(new QueryWrapper<BaseLocation>().eq("serial_number", 0));
 //        List<Integer> locationIds = new ArrayList<>();
 //        for (BaseLocation baseLocation : baseLocations) {
@@ -180,9 +181,9 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
 //        if (!locationIds.contains(Integer.parseInt(TokenSign.getWorkIdByJwtToken(httpServletRequest)))){
 //            queryWrapper.eq("id",0);
 //        }
-        Page<BillPersonnelAdmission> page = new Page<>(Integer.parseInt(pageNo),Integer.parseInt(pageSize));
-        Page<BillPersonnelAdmission> billPersonnelAdmissionPage = billPersonnelAdmissionMapper.selectPage(page,queryWrapper);
-        return new Result(ResultCode.SUCCESS,billPersonnelAdmissionPage);
+        Page<BillPersonnelAdmission> page = new Page<>(Integer.parseInt(pageNo), Integer.parseInt(pageSize));
+        Page<BillPersonnelAdmission> billPersonnelAdmissionPage = billPersonnelAdmissionMapper.selectPage(page, queryWrapper);
+        return new Result(ResultCode.SUCCESS, billPersonnelAdmissionPage);
     }
 
     @Override
@@ -202,30 +203,30 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
         for (BaseLocation baseLocation : baseLocations) {
             locationIds.add(baseLocation.getId());
         }
-        if (StringUtils.isBlank(baseProcess.getUpdateDate())){
+        if (StringUtils.isBlank(baseProcess.getUpdateDate())) {
             baseProcess.setUpdateDate(LocalDateTime.now().format(dateTimeFormatter));
-        }else {
-            baseProcess.setUpdateDate(baseProcess.getUpdateDate()+","+LocalDateTime.now().format(dateTimeFormatter));
+        } else {
+            baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + LocalDateTime.now().format(dateTimeFormatter));
         }
-        if (type.equals("0")){
+        if (type.equals("0")) {
             //拒绝
             billPersonnelAdmission.setBillStatus(2);
             baseProcess.setProcessType(2);
-        }else {
+        } else {
             //通过
             billPersonnelAdmission.setBillStatus(1);
             //获取pcr位置
             String laseLocationId = baseProcess.getCurrentLocationId();
             BaseLocation laseLocation = baseLocationMapper.selectById(laseLocationId);
             BaseLocation baseLocation = baseLocationMapper.selectById(laseLocation.getNextId());
-            if (userType == 3){
-                if (locationIds.contains(billPersonnelAdmission.getDestId())){
+            if (userType == 3) {
+                if (locationIds.contains(billPersonnelAdmission.getDestId())) {
                     baseProcess.setCurrentStatus("1");
                     baseProcess.setProcessType(1);
-                }else {
+                } else {
                     baseProcess.setCurrentStatus("1,0");
-                    baseProcess.setCurrentLocation(baseProcess.getCurrentLocation()+","+baseLocation.getLocationName());
-                    baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() +","+baseLocation.getId());
+                    baseProcess.setCurrentLocation(baseProcess.getCurrentLocation() + "," + baseLocation.getLocationName());
+                    baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() + "," + baseLocation.getId());
                     BillPcr billPcr = new BillPcr();
                     billPcr.setVistitType(billPersonnelAdmission.getVistitType());
                     billPcr.setDestName(billPersonnelAdmission.getDestName());
@@ -242,7 +243,7 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                     billPcr.setTestLocationId(baseLocation.getId());
                     billPcrMapper.insert(billPcr);
                 }
-            }else {
+            } else {
                 baseProcess.setCurrentStatus("1");
 //                baseProcess.setCurrentLocation(baseProcess.getCurrentLocation()+","+baseLocation.getLocationName());
 //                baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() +","+baseLocation.getId());
@@ -260,23 +261,23 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
         String farmId = paramsMap.get("farmId");
         String pageNo = paramsMap.get("pageNum");
         String pageSize = paramsMap.get("pageSize");
-        Page<FactoryDirectorVo> page = new Page<>(Integer.parseInt(pageNo),Integer.parseInt(pageSize));
-        IPage<FactoryDirectorVo> factoryDirectorList = billPersonnelAdmissionMapper.listAll(type,farmId,page);
-        return new Result(ResultCode.SUCCESS,factoryDirectorList);
+        Page<FactoryDirectorVo> page = new Page<>(Integer.parseInt(pageNo), Integer.parseInt(pageSize));
+        IPage<FactoryDirectorVo> factoryDirectorList = billPersonnelAdmissionMapper.listAll(type, farmId, page);
+        return new Result(ResultCode.SUCCESS, factoryDirectorList);
     }
 
     @Override
     public Result getDetail(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
         String type = paramsMap.get("type");
         String id = paramsMap.get("id");
-        if (type.equals("0")){
-            return new Result(ResultCode.SUCCESS,billPersonnelAdmissionMapper.selectById(id));
-        }else if (type.equals("1")){
-            return new Result(ResultCode.SUCCESS,billPcrMapper.selectById(id));
-        }else if (type.equals("2")){
-            return new Result(ResultCode.SUCCESS,billCleanMapper.selectById(id));
-        }else {
-            return new Result(ResultCode.SUCCESS,billIsolateMapper.selectById(id));
+        if (type.equals("0")) {
+            return new Result(ResultCode.SUCCESS, billPersonnelAdmissionMapper.selectById(id));
+        } else if (type.equals("1")) {
+            return new Result(ResultCode.SUCCESS, billPcrMapper.selectById(id));
+        } else if (type.equals("2")) {
+            return new Result(ResultCode.SUCCESS, billCleanMapper.selectById(id));
+        } else {
+            return new Result(ResultCode.SUCCESS, billIsolateMapper.selectById(id));
         }
     }
 
@@ -311,7 +312,7 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
 
         queryWrapper.eq("farm_id", farmId).orderByDesc("sub_date");
         if ("0".equals(type)) {
-            queryWrapper.in("pcr_type",  1, 2, 3);
+            queryWrapper.in("pcr_type", 1, 2, 3);
         }
         if ("1".equals(type)) {
             queryWrapper.eq("pcr_type", 1);
@@ -320,9 +321,9 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
             queryWrapper.eq("pcr_type", 2);
         }
         if ("3".equals(type)) {
-            queryWrapper.eq("pcr_type",  3);
+            queryWrapper.eq("pcr_type", 3);
         }
-        return new Result(ResultCode.SUCCESS,  pcrMapper.selectPage(page,queryWrapper));
+        return new Result(ResultCode.SUCCESS, pcrMapper.selectPage(page, queryWrapper));
     }
 
     @Override
@@ -385,7 +386,7 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                     billClean.setTestLocationId(baseLocation.getNextId());
                     cleanMapper.insert(billClean);
 
-                    baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," +sdf.format(new Date()));
+                    baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
                     baseProcess.setCurrentLocation(baseProcess.getCurrentLocation() + "," + baseLocation.getNextLocation());
                     baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() + "," + baseLocation.getNextId());
                     String status = baseProcess.getCurrentStatus();
@@ -406,8 +407,8 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                     billPcr.setPassDate(sdf.parse(sdf.format(new Date())));
                     billPcr.setCheckDate(sdf.parse(data));
 
-                    baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," +sdf.format(new Date()));
-                    baseProcess.setCurrentLocation(baseProcess.getCurrentLocation() );
+                    baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
+                    baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
                     baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId());
                     String status = baseProcess.getCurrentStatus();
                     String substring = status.substring(0, status.length() - 1);
@@ -429,20 +430,20 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
                     billPcr.setPassDate(sdf.parse(sdf.format(new Date())));
                     billPcr.setCheckDate(sdf.parse(data));
 
-                    baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," +sdf.format(new Date()));
+                    baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
                     baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
                     baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId());
                     String status = baseProcess.getCurrentStatus();
                     String substring = status.substring(0, status.length() - 1);
-                    baseProcess.setCurrentStatus(substring + "1" );
+                    baseProcess.setCurrentStatus(substring + "1");
                     baseProcess.setProcessType(1);
                     processMapper.updateById(baseProcess);
                     pcrMapper.updateById(billPcr);
                     return new Result(10000, "修改成功!", true);
                 } else {
-                    baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," +sdf.format(new Date()));
-                    baseProcess.setCurrentLocation(baseProcess.getCurrentLocation() );
-                    baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() );
+                    baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
+                    baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
+                    baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId());
                     String status = baseProcess.getCurrentStatus();
                     String substring = status.substring(0, status.length() - 1);
                     baseProcess.setCurrentStatus(substring + "2");
@@ -490,12 +491,12 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
             queryWrapper.eq("bill_status", 0);
         }
         if ("2".equals(type)) {
-            queryWrapper.eq("bill_status",  1);
+            queryWrapper.eq("bill_status", 1);
         }
         if ("3".equals(type)) {
             queryWrapper.in("bill_status", 2, 3);
         }
-        return new Result(ResultCode.SUCCESS, isolateMapper.selectPage(page,queryWrapper));
+        return new Result(ResultCode.SUCCESS, isolateMapper.selectPage(page, queryWrapper));
     }
 
     @Override
@@ -519,12 +520,62 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
             @Override
             public void run() {
                 //这里写业务
-                isolate.setBillStatus(2);
-                isolateMapper.updateById(isolate);
+                BillIsolate isolate = isolateMapper.selectById(billIsolate.getId());
+                QueryWrapper<BaseLocation> locationQueryWrapper = new QueryWrapper<>();
+                locationQueryWrapper.eq("farm_id", isolate.getFarmId()).eq("id", isolate.getIsolateLocationId());
+                BaseLocation baseLocation = locationMapper.selectOne(locationQueryWrapper);//当前所在的位置
+                QueryWrapper<BaseProcess> processQueryWrapper = new QueryWrapper<>();
+                processQueryWrapper.eq("farm_id", isolate.getFarmId()).eq("id", isolate.getProcessId());
+                BaseProcess baseProcess = processMapper.selectOne(processQueryWrapper);//进程
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+                if (isolate.getBillStatus() == 1) {
+                    isolate.setBillStatus(2);
+                    if (isolate.getDestId() > isolate.getIsolateLocationId()) { //当前不是目的地
+                        if (isolate.getIsolateLocationId() == 8) {
+                            //通过生成洗消记录
+                            BillClean billClean = new BillClean();
+                            billClean.setPhone(isolate.getPhone());
+                            billClean.setVistitType(isolate.getVistitType());
+                            billClean.setDestName(isolate.getDestName());
+                            billClean.setDestId(isolate.getDestId());
+                            billClean.setAdmissionUserName(isolate.getAdmissionUserName());
+                            billClean.setAdmissionUserId(isolate.getAdmissionUserId());
+                            billClean.setVistitDate(isolate.getVistitDate());
+                            billClean.setSubDate(isolate.getSubDate());
+                            billClean.setFarmId(isolate.getFarmId());
+                            billClean.setPassUserName(isolate.getPassUserName());
+                            billClean.setPassDate(isolate.getPassDate());
+                            billClean.setPassUserId(isolate.getPassUserId());
+                            billClean.setProcessId(isolate.getProcessId());
+                            billClean.setTestLocation(baseLocation.getNextLocation());
+                            billClean.setTestLocationId(baseLocation.getNextId());
+                            cleanMapper.insert(billClean);
+                        }
+                        baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
+                        baseProcess.setCurrentLocation(baseProcess.getCurrentLocation() + "," + baseLocation.getNextLocation());
+                        baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() + "," + baseLocation.getNextId());
+                        String status = baseProcess.getCurrentStatus();
+                        String substring = status.substring(0, status.length() - 1);
+
+                        baseProcess.setCurrentStatus(substring + "1," + 0);
+
+                        processMapper.updateById(baseProcess);
+                    }else {
+                        baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
+                        baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
+                        baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId());
+                        String status = baseProcess.getCurrentStatus();
+                        String substring = status.substring(0, status.length() - 1);
+                        baseProcess.setCurrentStatus(substring + "2");
+                        baseProcess.setProcessType(1);
+                        processMapper.updateById(baseProcess);
+                    }
+                    isolateMapper.updateById(isolate);
+                }
             }
         };
         // 设定延迟时间(两小时后执行,单位为秒)
-        long delay = 60 * 60 * dayNum;
+        long delay = 60 * 60 * 24 * dayNum;
         // 执行定时任务
         scheduler.schedule(task, delay, TimeUnit.SECONDS);
         isolateMapper.updateById(isolate);
@@ -539,7 +590,7 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
         BillIsolate billIsolate = isolateMapper.selectById(id);
         BaseProcess baseProcess = processMapper.selectById(billIsolate.getProcessId());
         QueryWrapper<BaseLocation> locationQueryWrapper = new QueryWrapper<>();
-        locationQueryWrapper.eq(StringUtils.isNotBlank(farmId),"farm_id", farmId).eq("id", billIsolate.getIsolateLocationId());
+        locationQueryWrapper.eq(StringUtils.isNotBlank(farmId), "farm_id", farmId).eq("id", billIsolate.getIsolateLocationId());
         BaseLocation baseLocation = locationMapper.selectOne(locationQueryWrapper);//当前隔离所在的位置
 
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -548,7 +599,7 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
         String now = sdf.format(new Date());
         int res = now.compareTo(end);
         if (res > 0) {//当前时间晚于隔离结束时间
-            if (baseProcess.getDestId().equals(billIsolate.getIsolateLocationId())|| baseProcess.getDestId() >= 13) {
+            if (baseProcess.getDestId().equals(billIsolate.getIsolateLocationId()) || baseProcess.getDestId() >= 13) {
                 //目的地就是当前隔离地点
                 baseProcess.setProcessType(1);
                 baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
@@ -691,7 +742,7 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
         if ("3".equals(type)) {
             queryWrapper.eq("bill_status", 2);
         }
-        return new Result(ResultCode.SUCCESS,  cleanMapper.selectPage(page,queryWrapper));
+        return new Result(ResultCode.SUCCESS, cleanMapper.selectPage(page, queryWrapper));
 
     }
 }