From fb050c0dafa5363a73540dd9e52b78487e25ba0a Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期二, 09 四月 2024 17:32:46 +0800
Subject: [PATCH] fix:新增手动抬杆记录

---
 src/main/java/com/boying/controller/OutParkController.java |   73 ++++++++++++++++++++++++++++++++++++
 1 files changed, 73 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/boying/controller/OutParkController.java b/src/main/java/com/boying/controller/OutParkController.java
index 47d3411..3d0a6e5 100644
--- a/src/main/java/com/boying/controller/OutParkController.java
+++ b/src/main/java/com/boying/controller/OutParkController.java
@@ -29,6 +29,7 @@
 import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.time.ZoneOffset;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 
@@ -55,6 +56,7 @@
     @PostMapping("/findPage")
     public Object findPage(Page page, String  carNo,Long parkId,String  payCode,String date) throws ParseException {
         List<OutPark> list = outParkService.getList(page.getCurrent(), page.getSize(), carNo,parkId,payCode, date);
+        System.out.println(list);
         long count = outParkService.getCount(carNo,parkId,payCode, date);
         for (OutPark record : list) {
             record.setParkName(parkService.getById(record.getParkId()).getName());
@@ -79,9 +81,13 @@
     //閬撻椄code
     @PostMapping("/findByBarrierCode")
     public Object findById(String code) {
+        if(StringUtils.isBlank(code)){
+            return R.failed(null,"鍙傛暟閿欒");
+        }
        QueryWrapper<Barrier> wrapper = new QueryWrapper<>();
        wrapper.lambda()
                .eq(Barrier::getCode2,code);
+        System.out.println("code   :" +code);
         List<Barrier> all = barrierService.list(wrapper);
         if(all.size()==0){
             return R.failed("鏈壘鍒拌璁惧");
@@ -107,6 +113,10 @@
     //閬撻椄code
     @PostMapping("/findByBarrierCode2")
     public Object findById2(String code2) {
+        if(StringUtils.isBlank(code2)){
+            return R.failed(null,"鍙傛暟閿欒");
+        }
+        System.out.println("code2     :"+code2);
         QueryWrapper<Barrier> wrapper = new QueryWrapper<>();
         wrapper.lambda()
                 .eq(Barrier::getCode2,code2);
@@ -289,6 +299,69 @@
         }
     }
 
+    @GetMapping("/getByCarAndPark")
+    public Object getByCarAndPark(String carNo ,Integer parkId) {
+        QueryWrapper<OutPark> wrapper = new QueryWrapper<>();
+        wrapper.lambda()
+                .eq(OutPark::getCarNo,carNo)
+                .eq(OutPark::getParkId,parkId)
+                .orderByDesc(OutPark::getCreateTime);
+        List<OutPark> list = outParkService.list(wrapper);
+        if(list.size() > 0){
+            OutPark outPark = list.get(0);
+            if(outPark.getTime() > 0){
+                outPark.setTimeStr(DateUtilOther.millisToDayHrMinSec(new Double(outPark.getTime()).longValue()));
+            }else {
+                outPark.setTimeStr("涓嶈冻涓�鍒嗛挓");
+            }
+            return R.ok(outPark,"鎵惧埌鏁版嵁");
+        }else {
+            return R.failed(null,"鏈壘鍒版暟鎹�");
+        }
+    }
+    @GetMapping("/editEnterPark")
+    public Object editEnterPark(String carNo ,Integer parkId,String time) {
+        QueryWrapper<Barrier> wrapper = new QueryWrapper<>();
+        wrapper.lambda()
+                .eq(Barrier::getParkId,parkId)
+                .eq(Barrier::getType,1);
+        List<Barrier> list = barrierService.list(wrapper);
+        EnterPark enterPark = new EnterPark();
+        enterPark.setCreateTime(LocalDateTime.parse(time, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+        enterPark.setCarNo(carNo);
+        enterPark.setParkId(parkId);
+        enterPark.setBarrierId(list.get(0).getId());
+        enterPark.setStatus(0);
+        enterPark.setIsAdd(1);
+        enterPark.setIsPay(0);
+        enterParkService.saveOrUpdate(enterPark);
+
+        OutPark outPark = null;
+        QueryWrapper<OutPark> wrapper1 = new QueryWrapper<>();
+        wrapper1.lambda()
+                .eq(OutPark::getParkId,parkId)
+                .eq(OutPark::getCarNo,carNo)
+                .ge(OutPark::getCreateTime,enterPark.getCreateTime())
+                .ne(OutPark::getStatus,1);
+        List<OutPark> list1 = outParkService.list(wrapper1);
+        if(list1 !=null&&list1.size()>0){
+            outPark  = list1.get(0);
+            outPark.setEnterTime(enterPark.getCreateTime());
+            long l = outPark.getCreateTime().toInstant(ZoneOffset.of("+8")).toEpochMilli() - enterPark.getCreateTime().toInstant(ZoneOffset.of("+8")).toEpochMilli();
+            outPark.setTime(l/(1000*60));
+            try {
+                outPark.setPrice(costRuleService.getMoney(parkId, outPark.getEnterTime(), outPark.getCreateTime(), 1));
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+            outParkService.saveOrUpdate(outPark);
+            return R.ok(null,"淇敼鍑哄満璁板綍鎴愬姛");
+        }else {
+            return R.ok(null,"鏂板鍏ュ満璁板綍鎴愬姛");
+        }
+
+    }
+
 
     public Barrier findBarrier(String code2) {
         QueryWrapper<Barrier> wrapper = new QueryWrapper<>();

--
Gitblit v1.9.1