From cd9cbc46c0774c01674be435bcc86d4a03ada687 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 27 二月 2024 14:18:13 +0800
Subject: [PATCH] 整理

---
 server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java                          |    1 
 server/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java                 |    2 
 server/dmvisit_admin/src/main/java/com/doumee/api/business/ParkBookController.java                      |    7 ++
 server/dmvisit_service/src/main/java/com/doumee/service/business/ParkBookService.java                   |    2 
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncParkServiceImpl.java |   42 ++++++++++++-
 server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java                                    |    5 +
 admin/src/views/business/retention.vue                                                                  |   12 ++-
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ParkBookServiceImpl.java          |   39 ++++++++++++-
 admin/src/views/business/visitEvent.vue                                                                 |    2 
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java       |    3 +
 server/dmvisit_service/src/main/java/com/doumee/dao/business/model/ParkBook.java                        |    4 -
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java |    4 +
 12 files changed, 106 insertions(+), 17 deletions(-)

diff --git a/admin/src/views/business/retention.vue b/admin/src/views/business/retention.vue
index 297ea95..6b20da4 100644
--- a/admin/src/views/business/retention.vue
+++ b/admin/src/views/business/retention.vue
@@ -57,10 +57,14 @@
                 <el-table-column prop="idcardNo" label="韬唤璇佸彿" min-width="130px"></el-table-column>
                 <el-table-column prop="deviceName" label="杩涘満闂ㄧ" min-width="100px"></el-table-column>
                 <el-table-column prop="eventDate" label="杩涘満鏃堕棿" min-width="100px"></el-table-column>
-                <el-table-column label="杩涘満鎶撴媿鐓х墖" min-width="100px">
-                    <template slot-scope="{row}">
-                        <el-image style="width: 80px; height: 80px;" :src="row.faceImg"></el-image>
-                    </template>
+                <el-table-column label="浜鸿劯鐓х墖" min-width="100px">
+                  <template slot-scope="{row}">
+                    <el-image v-if="row.faceImgFull!=null"
+                              style="width: 80px; height: 80px"
+                              :src="row.faceImgFull"
+                              :preview-src-list="[row.faceImgFull]">
+                    </el-image>
+                  </template>
                 </el-table-column>
             </el-table>
             <pagination
diff --git a/admin/src/views/business/visitEvent.vue b/admin/src/views/business/visitEvent.vue
index f3b0c33..ced0982 100644
--- a/admin/src/views/business/visitEvent.vue
+++ b/admin/src/views/business/visitEvent.vue
@@ -51,7 +51,7 @@
             >
                 <el-table-column prop="personName" label="濮撳悕" min-width="100px"></el-table-column>
                 <el-table-column prop="phone" label="鎵嬫満鍙风爜" min-width="100px"></el-table-column>
-                <el-table-column prop="idNo" label="韬唤璇佸彿鐮�" min-width="100px"></el-table-column>
+                <el-table-column prop="idcardDecode" label="韬唤璇佸彿鐮�" min-width="100px"></el-table-column>
                 <el-table-column prop="visitorWorkUint" label="鍏徃" min-width="100px"></el-table-column>
                 <el-table-column prop="carNo" label="杞︾墝鍙�" min-width="100px"></el-table-column>
                 <el-table-column prop="beVisitedPersonName" label="琚浜�" min-width="100px"></el-table-column>
diff --git a/server/dmvisit_admin/src/main/java/com/doumee/api/business/ParkBookController.java b/server/dmvisit_admin/src/main/java/com/doumee/api/business/ParkBookController.java
index 28b9742..ba3facd 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/api/business/ParkBookController.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/api/business/ParkBookController.java
@@ -66,6 +66,13 @@
         parkBookService.updateById(parkBook);
         return ApiResponse.success(null);
     }
+    @ApiOperation("閲嶆柊涓嬪彂")
+    @PostMapping("/reUpdate")
+    @RequiresPermissions("business:parkbook:update")
+    public ApiResponse reUpdate(@RequestBody ParkBook parkBook) {
+        parkBookService.reUpdate(parkBook);
+        return ApiResponse.success(null);
+    }
 
     @ApiOperation("鍒嗛〉鏌ヨ")
     @PostMapping("/page")
diff --git a/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java b/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
index 101e31a..f0fb7eb 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
@@ -8,6 +8,7 @@
 import com.doumee.service.business.MemberService;
 import com.doumee.service.business.impl.hksync.HkSyncEmpowerServiceImpl;
 import com.doumee.service.business.impl.hksync.HkSyncImgServiceImpl;
+import com.doumee.service.business.impl.hksync.HkSyncParkServiceImpl;
 import com.doumee.service.business.impl.hksync.ferp.HkSyncOrgUserToHKServiceImpl;
 import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl;
 import com.doumee.service.business.impl.hksync.fhk.HkSyncVehicleFromHKServiceImpl;
@@ -29,6 +30,8 @@
 @EnableScheduling
 public class ScheduleTool {
 
+    @Autowired
+    private HkSyncParkServiceImpl hkSyncParkService;
     @Autowired
     private HkSyncImgServiceImpl hkSyncImgService;
     @Autowired
@@ -147,7 +150,7 @@
      */
     @Scheduled(fixedDelay= 60*1000)
     public void syncParkBookData()  {
-        hkSyncImgService.syncParkBookData();
+        hkSyncParkService.syncParkBookData();
     }
 
 
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
index 0d17ae7..ce884ad 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -233,7 +233,6 @@
     private Integer visitTimes;
 
     @ApiModelProperty(value = "鏈�鍚庤闂椂闂�")
-    @TableField(exist = false)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date lastVisitDate;
 
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/ParkBook.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/ParkBook.java
index 08f2fb6..7e319a5 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/ParkBook.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/ParkBook.java
@@ -32,16 +32,14 @@
 
     @ApiModelProperty(value = "鍒涘缓鏃堕棿")
     @ExcelColumn(name="鍒涘缓鏃堕棿")
-    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date createDate;
 
     @ApiModelProperty(value = "鏇存柊浜虹紪鐮�")
     @ExcelColumn(name="鏇存柊浜虹紪鐮�")
-    private String edirot;
+    private Integer editor;
 
     @ApiModelProperty(value = "鏇存柊鏃堕棿")
     @ExcelColumn(name="鏇存柊鏃堕棿")
-    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date editDate;
 
     @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/ParkBookService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/ParkBookService.java
index 0db0d78..1c9f0c9 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/ParkBookService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/ParkBookService.java
@@ -94,4 +94,6 @@
      * @return long
      */
     long count(ParkBook parkBook);
+
+    void reUpdate(ParkBook parkBook);
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java
index 6a57897..ea02316 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java
@@ -7,6 +7,7 @@
 import com.doumee.core.haikang.model.param.request.event.acs.EventAcsRequest;
 import com.doumee.core.haikang.model.param.request.event.parks.EventParkRequest;
 import com.doumee.core.haikang.model.param.request.event.visit.EventVisitRequest;
+import com.doumee.dao.business.model.ParkBook;
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.Date;
@@ -68,6 +69,7 @@
     void syncVisitData();
     void syncEmpowerData();
     void syncParkBookData();
+    void syncParkBookBySingleModel(ParkBook c);
     void syncEmpowerResultData();
     void syncEmpowerDetailData();
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ParkBookServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ParkBookServiceImpl.java
index c8ab1a8..252bf9e 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ParkBookServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ParkBookServiceImpl.java
@@ -1,5 +1,8 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
@@ -12,12 +15,15 @@
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.doumee.service.business.impl.hksync.HkSyncParkServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -30,6 +36,8 @@
 
     @Autowired
     private ParkBookMapper parkBookMapper;
+    @Autowired
+    private HkSyncParkServiceImpl hkSyncParkService;
 
     @Autowired
     private ParkBookJoinMapper parkBookJoinMapper;
@@ -44,7 +52,15 @@
 
     @Override
     public void deleteById(Integer id) {
-        parkBookMapper.deleteById(id);
+        LoginUserInfo user =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        ParkBook parkBook = new ParkBook();
+        parkBook.setIsdeleted(Constants.ZERO);
+        parkBook.setEditDate(new Date());
+        parkBook.setParkId(id);
+        parkBook.setEditor(user.getId());
+        parkBook.setHkStatus(Constants.ZERO);
+        parkBook.setRemark("寰呭悓姝ュ畨闃插钩鍙�");
+        parkBookMapper.updateById(parkBook);
     }
 
     @Override
@@ -80,6 +96,22 @@
     public ParkBook findById(Integer id) {
         return parkBookMapper.selectById(id);
     }
+    @Override
+    public void reUpdate(ParkBook param) {
+        MPJLambdaWrapper<ParkBook> queryWrapper = new MPJLambdaWrapper<>();
+        queryWrapper.selectAll(ParkBook.class);
+        queryWrapper.selectAs(Parks::getHkId,ParkBook::getParkHkId);
+        queryWrapper.leftJoin(Parks.class,Parks::getId,ParkBook::getParkId);
+        queryWrapper.selectAs(Device::getHkId,Empower::getDeviceIndexCode);
+        queryWrapper.eq(ParkBook::getHkStatus,Constants.ZERO)
+                .eq(ParkBook::getIsdeleted,Constants.ZERO)
+                .eq(ParkBook::getId,param.getId());
+        ParkBook model = parkBookJoinMapper.selectJoinOne(ParkBook.class,queryWrapper);
+       if(model== null){
+           throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"璇ヨ褰曞綋鍓嶄笉鏀寔閲嶆柊涓嬪彂鏉′欢锛�");
+       }
+        hkSyncParkService.syncParkBookBySingleModel(model);
+    }
 
     @Override
     public ParkBook findOne(ParkBook parkBook) {
@@ -98,7 +130,7 @@
         IPage<ParkBook> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         MPJLambdaWrapper<ParkBook> queryWrapper = new MPJLambdaWrapper<>();
 
-        queryWrapper.selectAll(Cars.class);
+        queryWrapper.selectAll(ParkBook.class);
         queryWrapper.selectAs(Parks::getName,Cars::getParksName);
         queryWrapper.selectAs(Member::getType,Cars::getMemberType);
         queryWrapper.selectAs(Member::getName,Cars::getMemberName);
@@ -109,7 +141,8 @@
         queryWrapper.leftJoin(Member.class,Member::getId,ParkBook::getMemberId);
         queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
 
-        queryWrapper.eq(ParkBook::getIsdeleted, Constants.ZERO)
+        queryWrapper
+//                .eq(ParkBook::getIsdeleted, Constants.ZERO)
           .and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getPhone,pageWrap.getModel().getMemberName())
                 .or().like(Member::getName,pageWrap.getModel().getMemberName()));
         queryWrapper.eq(StringUtils.isNotBlank(pageWrap.getModel().getCarCode()),ParkBook::getCarCode,pageWrap.getModel().getCarCode());
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
index a67c551..bbbb7b3 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
@@ -1007,6 +1007,9 @@
                 ||StringUtils.isBlank(param.getCarCode())){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
+        if(param.getValidStartTime()!=null && param.getValidEndTime()!=null&&param.getValidStartTime().getTime()> param.getValidEndTime().getTime()){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝鏈夋晥鏈熸椂闂翠笉鍚堟硶锛�");
+        }
         Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getErpId,param.getUserId()).last("limit 1"));
         if(Objects.isNull(member)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝鐢ㄦ埛淇℃伅涓嶅瓨鍦紒");
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
index 7900171..f72feaf 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
@@ -11,6 +11,7 @@
 import com.doumee.core.haikang.model.param.respose.TaskAdditionResponse;
 import com.doumee.core.haikang.service.HKService;
 import com.doumee.dao.business.model.Device;
+import com.doumee.dao.business.model.ParkBook;
 import com.doumee.service.business.ext.HkSyncService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
@@ -112,6 +113,9 @@
     public  void syncParkBookData() {
     }
     @Override
+    public void syncParkBookBySingleModel(ParkBook c) {
+    }
+    @Override
     public     void syncEmpowerResultData() {
     }
     @Override
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncParkServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncParkServiceImpl.java
index b5b1367..9056ab5 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncParkServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncParkServiceImpl.java
@@ -55,8 +55,10 @@
                             && StringUtils.isNotBlank(c.getCarCode())){
                        boolean result =  cancelParkBookHk(c);
                         c.setHkStatus(result?Constants.ONE:Constants.TWO);
+                        c.setRemark(result?"鍙栨秷鍖呮湡鎴愬姛":"鍙栨秷鍖呮湡澶辫触");
                     }else{
                         c.setHkStatus(Constants.TWO);//涓嬪彂澶辫触
+                        c.setRemark("鍙栨秷鍖呮湡澶辫触");
                     }
                     c.setHkDate(date);
                     parkBookMapper.updateById(c);
@@ -73,8 +75,10 @@
                         && StringUtils.isNotBlank(c.getCarCode())){
                     boolean result =  addParkBookHk(c);
                     c.setHkStatus(result?Constants.ONE:Constants.TWO);
+                    c.setRemark(result?"鍖呮湡鎴愬姛":"鍖呮湡澶辫触");
                 }else{
                     c.setHkStatus(Constants.TWO);
+                    c.setRemark("鍖呮湡澶辫触~");
                 }
                 c.setHkDate(date);
                 parkBookMapper.updateById(c);
@@ -86,13 +90,43 @@
         }
 
     }
-
+    @Override
+    public  void syncParkBookBySingleModel(ParkBook c) {
+                if(Constants.equalsObject(c.getIsdeleted(),Constants.ONE)){
+                    //濡傛灉鍙栨秷棰勭害锛屽垯杩涜鍙栨秷鍖呮湡
+                    if(StringUtils.isNotBlank(c.getParkHkId())
+                            && StringUtils.isNotBlank(c.getCarCode())){
+                        boolean result =  cancelParkBookHk(c);
+                        c.setHkStatus(result?Constants.ONE:Constants.TWO);
+                        c.setRemark(result?"鍙栨秷鍖呮湡鎴愬姛":"鍙栨秷鍖呮湡澶辫触");
+                    }else{
+                        c.setHkStatus(Constants.TWO);//涓嬪彂澶辫触
+                        c.setRemark("鍙栨秷鍖呮湡澶辫触");
+                    }
+                    c.setHkDate(new Date());
+                    parkBookMapper.updateById(c);
+                }else {
+                    //澶勭悊鎵�鏈夐渶瑕佸寘鏈熺殑杞﹁締鏁版嵁璁板綍
+                    //鏁版嵁涓嶅悎娉曪紝鐩存帴鎻愮ず涓嬪彂澶辫触
+                    if (StringUtils.isNotBlank(c.getParkHkId())
+                            && StringUtils.isNotBlank(c.getCarCode())) {
+                        boolean result = addParkBookHk(c);
+                        c.setHkStatus(result ? Constants.ONE : Constants.TWO);
+                        c.setRemark(result ? "鍖呮湡鎴愬姛" : "鍖呮湡澶辫触");
+                    } else {
+                        c.setHkStatus(Constants.TWO);
+                        c.setRemark("鍖呮湡澶辫触~");
+                    }
+                    c.setHkDate(new Date());
+                    parkBookMapper.updateById(c);
+                }
+    }
     private boolean addParkBookHk(ParkBook c) {
         CarChargeAddRequest param = new CarChargeAddRequest();
         param.setPlateNo(c.getCarCode());
         param.setParkSyscode(c.getParkHkId());
-        param.setStartTime(DateUtil.getISO8601Timestamp(c.getStartTime()));
-        param.setEndTime(DateUtil.getISO8601Timestamp(c.getEndTime()));
+        param.setStartTime(DateUtil.getShortTime(c.getStartTime()));
+        param.setEndTime(DateUtil.getShortTime(c.getEndTime()));
         BaseResponse response = HKService.carChargeAddtion(param);
         if(response!=null
                 && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)){
@@ -120,7 +154,7 @@
         queryWrapper.selectAs(Parks::getHkId,ParkBook::getParkHkId);
         queryWrapper.leftJoin(Parks.class,Parks::getId,ParkBook::getParkId);
         queryWrapper.selectAs(Device::getHkId,Empower::getDeviceIndexCode);
-        List<ParkBook> list = parkBookMapper.selectJoinList(ParkBook.class,queryWrapper);
+        List<ParkBook> list = parkBookMapper.selectJoinList(ParkBook.class,queryWrapper.eq(ParkBook::getHkStatus,Constants.ZERO));
         return list;
     }
     /**

--
Gitblit v1.9.3