From 8c02e4ce71ca6e8ca9e6680b88f973e835e06645 Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期五, 04 十一月 2022 08:45:13 +0800
Subject: [PATCH] 增加功能

---
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IOrderTaskServiceImpl.java   |    6 
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/OrderTaskMapper.java              |    4 
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderTask.java                    |    2 
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/vo/FindHistoryGpsRequest.java            |    0 
 xboot-modules/xboot-your/pom.xml                                                                     |   13 
 pom.xml                                                                                              |    2 
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/SignCountMapper.java              |   22 +
 xboot-modules/xboot-your/src/main/resources/mapper/SignCountMapper.xml                               |  139 ++++++
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/wx/TaskController.java        |  114 +++++
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IOrderTaskService.java           |    3 
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/CarLocationScheduleImpl.java |    2 
 xboot-modules/xboot-your/src/main/resources/mapper/OrderTaskMapper.xml                               |   74 +++
 /dev/null                                                                                            |  268 -------------
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/vo/PreviewURLsVo.java                    |    0 
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/QueryRequest.java                 |   36 +
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderStatusCount.java             |   83 ++++
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/SignCountController.java      |  103 +++++
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/vo/TalkURLsVo.java                       |    0 
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderTaskController.java      |  171 ++++---
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/vo/PlaybackURLsVo.java                   |    0 
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/ISignCountServiceImpl.java   |   49 ++
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/SignCount.java                    |   80 ++++
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/ISignCountService.java           |   18 
 23 files changed, 844 insertions(+), 345 deletions(-)

diff --git a/pom.xml b/pom.xml
index b5d0307..3ea786e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -197,4 +197,4 @@
 
         </dependencies>
     </dependencyManagement>
-</project>
\ No newline at end of file
+</project>
diff --git a/xboot-modules/xboot-your/pom.xml b/xboot-modules/xboot-your/pom.xml
index 24826c6..54292c5 100644
--- a/xboot-modules/xboot-your/pom.xml
+++ b/xboot-modules/xboot-your/pom.xml
@@ -17,7 +17,18 @@
             <artifactId>artemis-http-client</artifactId>
             <version>1.1.2</version>
         </dependency>
-
+        <!-- Excel瀵煎叆瀵煎嚭鎻掍欢-->
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>easyexcel</artifactId>
+            <version>2.2.2</version>
+        </dependency>
+        <!--&lt;!&ndash; Excel瀵煎叆瀵煎嚭鎻掍欢 &ndash;&gt;-->
+        <!--<dependency>-->
+            <!--<groupId>com.wuwenze</groupId>-->
+            <!--<artifactId>ExcelKit</artifactId>-->
+            <!--<version>2.0.72</version>-->
+        <!--</dependency>-->
         <dependency>
             <groupId>org.eclipse.paho</groupId>
             <artifactId>org.eclipse.paho.client.mqttv3</artifactId>
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderTaskController.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderTaskController.java
index 32ac2fd..9d2c8e4 100644
--- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderTaskController.java
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderTaskController.java
@@ -13,6 +13,7 @@
 import cn.exrick.xboot.your.service.*;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.StrUtil;
+import com.alibaba.excel.EasyExcel;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import io.swagger.annotations.Api;
@@ -22,6 +23,9 @@
 import org.springframework.web.bind.annotation.*;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.net.URLEncoder;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -102,23 +106,23 @@
 //    }
 
 
-    private String getFormatDate(String sendTime){
-        if(StrUtil.isNotEmpty(sendTime)){
+    private String getFormatDate(String sendTime) {
+        if (StrUtil.isNotEmpty(sendTime)) {
             return sendTime;
-        }else{
+        } else {
             return DateUtil.format(new Date(), "yyyy-MM-dd");
         }
     }
 
-    public Area getArea(String userId){
+    public Area getArea(String userId) {
         QueryWrapper<Car> carQueryWrapper = new QueryWrapper<Car>();
-        carQueryWrapper.eq("user_id",userId).or().eq("follow_user_id",userId);
+        carQueryWrapper.eq("user_id", userId).or().eq("follow_user_id", userId);
         Car one = iCarService.getOne(carQueryWrapper);
-        if(one==null){
+        if (one == null) {
             return null;
-        }else{
+        } else {
             QueryWrapper<Area> wrapper = new QueryWrapper<Area>();
-            wrapper.eq("car_id",one.getId());
+            wrapper.eq("car_id", one.getId());
             Area area = iAreaService.getOne(wrapper);
             return area;
         }
@@ -128,28 +132,28 @@
     @ApiOperation(value = "鑾峰彇浠婃棩浠诲姟缁熻淇℃伅")
     public Result<Object> getAll(String sendTime) {
         Area area = getArea(securityUtil.getCurrUser().getId());
-        if(area==null){
+        if (area == null) {
             return ResultUtil.error("璇疯仈绯荤鐞嗗憳缁戝畾璇ヨ溅杈�");
         }
 
         QueryWrapper<OrderTask> wrapper2 = new QueryWrapper<OrderTask>();
         String format = getFormatDate(sendTime);
-        wrapper2.eq("area_id",area.getId());
-        wrapper2.eq("send_date",format);
+        wrapper2.eq("area_id", area.getId());
+        wrapper2.eq("send_date", format);
         List<OrderTask> list = iOrderTaskService.list(wrapper2);
 
-        int sum = iOrderTaskService.sum(area.getId(),format);
+        int sum = iOrderTaskService.sum(area.getId(), format);
 
-        Map<String,Object> map = new HashMap<String,Object>();
-        map.put("count",list.size());
-        map.put("sum",sum);
-        map.put("name","");
-        if(list.size()>0){
+        Map<String, Object> map = new HashMap<String, Object>();
+        map.put("count", list.size());
+        map.put("sum", sum);
+        map.put("name", "");
+        if (list.size() > 0) {
             OrderTask orderTask = list.get(0);
             String areaSectionId = orderTask.getAreaSectionId();
             AreaSection a = iAreaSectionService.getById(areaSectionId);
             Area area2 = iAreaService.getById(orderTask.getAreaId());
-            map.put("name",area2.getName()+a.getName());
+            map.put("name", area2.getName() + a.getName());
             list.clear();
         }
         return new ResultUtil<Object>().setData(map);
@@ -159,7 +163,7 @@
     @ApiOperation(value = "鑾峰彇浠婃棩閰嶉�佷换鍔¤鎯呭垪琛�")
     public Result<List<OrderTask>> getTodayOrder(String sendTime) {
         Area area = getArea(securityUtil.getCurrUser().getId());
-        if(area==null){
+        if (area == null) {
             return ResultUtil.error("璇疯仈绯荤鐞嗗憳缁戝畾璇ヨ溅杈�");
         }
 
@@ -169,11 +173,11 @@
 //        wrapper2.eq("a.send_date",format);
 //        wrapper2.orderByAsc("a.seq").orderByAsc("a.status");
         //List<OrderTask> list = iOrderTaskService.list2(wrapper2);
-        wrapper2.eq("area_id",area.getId());
-        wrapper2.eq("send_date",format);
+        wrapper2.eq("area_id", area.getId());
+        wrapper2.eq("send_date", format);
         wrapper2.orderByAsc("seq").orderByAsc("status");
         List<OrderTask> list = iOrderTaskService.list(wrapper2);
-        for(OrderTask obj:list){
+        for (OrderTask obj : list) {
             obj.setCode(obj.getLinker());
         }
         return new ResultUtil<List<OrderTask>>().setData(list);
@@ -181,24 +185,24 @@
 
     @RequestMapping(value = "/getTodayOrderDetail", method = RequestMethod.GET)
     @ApiOperation(value = "鑾峰彇褰撳墠閰嶉�佸晢鎴疯鎯�")
-    public Result<OrderTask> getTodayOrderDetail(String orderId,String sendTime) {
+    public Result<OrderTask> getTodayOrderDetail(String orderId, String sendTime) {
         OrderTask orderTask = new OrderTask();
-        if(!StrUtil.isEmpty(orderId)){
+        if (!StrUtil.isEmpty(orderId)) {
             orderTask = iOrderTaskService.getById(orderId);
-            if(orderTask.getStatus()!=0){
+            if (orderTask.getStatus() != 0) {
                 return ResultUtil.error("姝ゅ晢鎴峰凡閰嶉��");
             }
-        }else{
+        } else {
             Area area = getArea(securityUtil.getCurrUser().getId());
-            if(area==null){
+            if (area == null) {
                 return ResultUtil.error("璇疯仈绯荤鐞嗗憳缁戝畾璇ヨ溅杈�");
             }
 
             QueryWrapper<OrderTask> wrapper2 = new QueryWrapper<OrderTask>();
             String format = getFormatDate(sendTime);
-            wrapper2.eq("area_id",area.getId());
-            wrapper2.eq("send_date",format);
-            wrapper2.eq("status",0);
+            wrapper2.eq("area_id", area.getId());
+            wrapper2.eq("send_date", format);
+            wrapper2.eq("status", 0);
             //wrapper2.orderByAsc("seq");
 
             PageVo page = new PageVo();
@@ -206,18 +210,18 @@
             page.setOrder("asc");
             page.setPageSize(1);
             page.setPageNumber(0);
-            List<OrderTask> list = iOrderTaskService.page(PageUtil.initMpPage(page),wrapper2).getRecords();
+            List<OrderTask> list = iOrderTaskService.page(PageUtil.initMpPage(page), wrapper2).getRecords();
             //List<OrderTask> list = iOrderTaskService.list(wrapper2);
-            if(list.size()>0){
+            if (list.size() > 0) {
                 orderTask = list.get(0);
-            }else{
+            } else {
                 return new ResultUtil<OrderTask>().setData(null);
             }
         }
 
         orderTask.setCustomer(iCustomerService.getById(orderTask.getCustomerId()));
         QueryWrapper<OrderDetail> wrapper3 = new QueryWrapper<OrderDetail>();
-        wrapper3.eq("order_id",orderTask.getId());
+        wrapper3.eq("order_id", orderTask.getId());
         orderTask.setOrderDetails(iOrderDetailService.list(wrapper3));
 
         return new ResultUtil<OrderTask>().setData(orderTask);
@@ -228,31 +232,31 @@
     public Result<Object> getTodayOtherInfo(String sendTime) {
 
         Area area = getArea(securityUtil.getCurrUser().getId());
-        if(area==null){
+        if (area == null) {
             return ResultUtil.error("璇疯仈绯荤鐞嗗憳缁戝畾璇ヨ溅杈�");
         }
 
         QueryWrapper<OrderTask> wrapper2 = new QueryWrapper<OrderTask>();
         String format = getFormatDate(sendTime);
-        wrapper2.eq("area_id",area.getId());
-        wrapper2.eq("send_date",format);
-        wrapper2.ne("status",0);
+        wrapper2.eq("area_id", area.getId());
+        wrapper2.eq("send_date", format);
+        wrapper2.ne("status", 0);
         wrapper2.orderByAsc("seq");
         int count = iOrderTaskService.count(wrapper2);
 
 
         QueryWrapper<OrderTask> wrapper4 = new QueryWrapper<OrderTask>();
-        wrapper4.eq("area_id",area.getId());
-        wrapper4.eq("send_date",format);
+        wrapper4.eq("area_id", area.getId());
+        wrapper4.eq("send_date", format);
         int count2 = iOrderTaskService.count(wrapper4);
 
 
-        Map<String,Object> map = new HashMap<>();
-        map.put("num",count+"/"+count2);
+        Map<String, Object> map = new HashMap<>();
+        map.put("num", count + "/" + count2);
 
         QueryWrapper<OrderTask> wrapper5 = new QueryWrapper<OrderTask>();
-        wrapper5.ne("status",0);
-        wrapper5.eq("send_date",format);
+        wrapper5.ne("status", 0);
+        wrapper5.eq("send_date", format);
 
         PageVo page = new PageVo();
         page.setSort("updateTime");
@@ -261,35 +265,35 @@
         page.setPageNumber(0);
         IPage<OrderTask> data = iOrderTaskService.page(PageUtil.initMpPage(page), wrapper5);
         String content = "";
-        if(data.getRecords().size()>0){
+        if (data.getRecords().size() > 0) {
             String userId = data.getRecords().get(0).getUserId();
             User user = userService.get(userId);
 
             QueryWrapper<OrderTask> wrapper6 = new QueryWrapper<OrderTask>();
-            wrapper6.eq("user_id",userId);
-            wrapper6.eq("send_date",format);
-            wrapper6.ne("status",0);
+            wrapper6.eq("user_id", userId);
+            wrapper6.eq("send_date", format);
+            wrapper6.ne("status", 0);
             int count6 = iOrderTaskService.count(wrapper6);
-            if(count6>0){
-                content+=user.getNickname()+"宸查厤閫�"+count6+"鍗�";
+            if (count6 > 0) {
+                content += user.getNickname() + "宸查厤閫�" + count6 + "鍗�";
             }
         }
-        map.put("content",content);
+        map.put("content", content);
 
-        map.put("lng","");
-        map.put("lat","");
+        map.put("lng", "");
+        map.put("lat", "");
         String deptId = securityUtil.getCurrUser().getDepartmentId();
-        if(StrUtil.isNotEmpty(deptId)){
+        if (StrUtil.isNotEmpty(deptId)) {
             Department department = departmentService.get(deptId);
-            map.put("lng",department.getLng());
-            map.put("lat",department.getLat());
+            map.put("lng", department.getLng());
+            map.put("lat", department.getLat());
         }
         return new ResultUtil<Object>().setData(map);
     }
 
     @RequestMapping(value = "/addImg", method = RequestMethod.POST)
     @ApiOperation(value = "涓婁紶闂ㄥご鐓�")
-    public Object saveOrUpdate(String orderId,String imgUrl) {
+    public Object saveOrUpdate(String orderId, String imgUrl) {
         OrderTask orderTask = iOrderTaskService.getById(orderId);
         orderTask.setImg(imgUrl);
         iOrderTaskService.saveOrUpdate(orderTask);
@@ -298,14 +302,14 @@
 
     @RequestMapping(value = "/signFor", method = RequestMethod.POST)
     @ApiOperation(value = "绛炬敹")
-    public Object signFor(String orderId,int status,String content,String customerReceiveId,int time,String carId) {
-        if(status==1){
-            if(StrUtil.isEmpty(customerReceiveId)){
+    public Object signFor(String orderId, int status, String content, String customerReceiveId, int time, String carId) {
+        if (status == 1) {
+            if (StrUtil.isEmpty(customerReceiveId)) {
                 return ResultUtil.error("姝e父绛炬敹锛屾帴璐т汉id蹇呭~");
             }
         }
 
-        if(StrUtil.isEmpty(carId)){
+        if (StrUtil.isEmpty(carId)) {
             return ResultUtil.error("杞﹁締id涓嶈兘涓虹┖");
         }
         OrderTask orderTask = iOrderTaskService.getById(orderId);
@@ -313,14 +317,14 @@
         orderTask.setUserId(securityUtil.getCurrUser().getId());
         orderTask.setTime(time);
         orderTask.setCarId(carId);
-        if(StrUtil.isNotEmpty(customerReceiveId)){
+        if (StrUtil.isNotEmpty(customerReceiveId)) {
             orderTask.setCustomerReceiveId(customerReceiveId);
         }
 
-        if(!StrUtil.isEmpty(content)){
+        if (!StrUtil.isEmpty(content)) {
             orderTask.setRemarks(content);
-        }else{
-            if(status==2){
+        } else {
+            if (status == 2) {
                 return ResultUtil.error("璇峰~鍐欏紓甯哥鏀跺師鍥�");
             }
         }
@@ -337,13 +341,13 @@
         return ResultUtil.success("娣诲姞鎴愬姛");
     }
 
-    private void saveLog(){
+    private void saveLog() {
         QueryWrapper<OrderLog> wp = new QueryWrapper<>();
-        wp.eq("type",2);
+        wp.eq("type", 2);
         OrderLog one = iOrderLogService.getOne(wp);
-        if(one!=null){
-            one.setNum(one.getNum()+1);
-        }else{
+        if (one != null) {
+            one.setNum(one.getNum() + 1);
+        } else {
             one = new OrderLog();
             one.setNum(1);
             one.setType(2);
@@ -355,13 +359,13 @@
     @ApiOperation(value = "鑾峰彇韪忓嫎鍟嗘埛")
     public Result<List<Customer>> getTaKan() {
         Area area = getArea(securityUtil.getCurrUser().getId());
-        if(area==null){
+        if (area == null) {
             return ResultUtil.error("璇疯仈绯荤鐞嗗憳缁戝畾璇ヨ溅杈�");
         }
 
         QueryWrapper<Customer> wrapper2 = new QueryWrapper<Customer>();
-        wrapper2.eq("area_id",area.getId());
-        wrapper2.eq("kstatus",0);
+        wrapper2.eq("area_id", area.getId());
+        wrapper2.eq("kstatus", 0);
         List<Customer> list = iCustomerService.list(wrapper2);
         return new ResultUtil<List<Customer>>().setData(list);
     }
@@ -393,4 +397,25 @@
         }
         return ResultUtil.success("鎵归噺閫氳繃id鍒犻櫎鏁版嵁鎴愬姛");
     }
+
+    @GetMapping("/outExcel")//  瀵煎嚭鐨勪笉鏄腑闂磋〃
+    @ApiOperation(value = "瀵煎嚭绛炬敹缁熻淇℃伅琛�", notes = "瀵煎嚭绛炬敹缁熻淇℃伅琛�")
+    public void export1(OrderStatusCount orderStatusCount, HttpServletResponse response) throws IOException {
+        List<OrderStatusCount> orderStatus = this.iOrderTaskService.countStatus(orderStatusCount);
+        response.setContentType("application/vnd.ms-excel");
+        response.setCharacterEncoding("utf-8");
+        String fileName = URLEncoder.encode("绛炬敹鏁伴噺缁熻鎶ヨ〃", "UTF-8");
+        String fileName2 = new String(fileName.getBytes("UTF-8"), "ISO8859-1");
+//        response.setHeader("Content-dispostion", "attachment;filename="+fileName+".xls");
+        response.setHeader("Content-disposition", "attachment;filename=" + fileName2 + ".xlsx");
+        EasyExcel.write(response.getOutputStream(), OrderStatusCount.class).
+                sheet(0).doWrite(orderStatus);
+    }
+
+    @GetMapping(value = "/count")
+    public Result<List<OrderStatusCount>> getAll(OrderStatusCount orderStatusCount) {
+        List<OrderStatusCount> data = this.iOrderTaskService.countStatus(orderStatusCount);
+        ;
+        return new ResultUtil<List<OrderStatusCount>>().setData(data);
+    }
 }
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/SignCountController.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/SignCountController.java
new file mode 100644
index 0000000..43f2a49
--- /dev/null
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/SignCountController.java
@@ -0,0 +1,103 @@
+package cn.exrick.xboot.your.controller;
+
+import cn.exrick.xboot.core.common.utils.PageUtil;
+import cn.exrick.xboot.core.common.utils.ResultUtil;
+import cn.exrick.xboot.core.common.vo.PageVo;
+import cn.exrick.xboot.core.common.vo.Result;
+import cn.exrick.xboot.your.entity.OrderStatusCount;
+import cn.exrick.xboot.your.entity.QueryRequest;
+import cn.exrick.xboot.your.entity.SignCount;
+import cn.exrick.xboot.your.service.ISignCountService;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.excel.EasyExcel;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.net.URLEncoder;
+import java.util.List;
+
+/**
+ * @author whj
+ */
+@Slf4j
+@RestController
+@Api(tags = "鐘舵�佺粺璁℃姤琛ㄦ帴鍙�")
+@RequestMapping("/xboot/signCount")
+@Transactional
+public class SignCountController {
+
+    @Autowired
+    private ISignCountService iSignCountService;
+
+    @RequestMapping(value = "/get/{id}", method = RequestMethod.GET)
+    @ApiOperation(value = "閫氳繃id鑾峰彇")
+    public Result<SignCount> get(@PathVariable String id) {
+
+        SignCount signCount = iSignCountService.getById(id);
+        return new ResultUtil<SignCount>().setData(signCount);
+    }
+
+    @RequestMapping(value = "/getAll", method = RequestMethod.GET)
+    @ApiOperation(value = "鑾峰彇鍏ㄩ儴鏁版嵁")
+    public Result<List<SignCount>> getAll() {
+
+        List<SignCount> list = iSignCountService.list();
+        return new ResultUtil<List<SignCount>>().setData(list);
+    }
+
+    @RequestMapping(value = "/getByPage", method = RequestMethod.GET)
+    @ApiOperation(value = "鍒嗛〉鑾峰彇")
+    public Result<IPage<SignCount>> getByPage(PageVo page) {
+
+        IPage<SignCount> data = iSignCountService.page(PageUtil.initMpPage(page));
+        return new ResultUtil<IPage<SignCount>>().setData(data);
+    }
+
+    @RequestMapping(value = "/insertOrUpdate", method = RequestMethod.POST)
+    @ApiOperation(value = "缂栬緫鎴栨洿鏂版暟鎹�")
+    public Result<SignCount> saveOrUpdate(SignCount signCount) {
+
+        if (iSignCountService.saveOrUpdate(signCount)) {
+            return new ResultUtil<SignCount>().setData(signCount);
+        }
+        return new ResultUtil<SignCount>().setErrorMsg("鎿嶄綔澶辫触");
+    }
+
+    @RequestMapping(value = "/delByIds", method = RequestMethod.POST)
+    @ApiOperation(value = "鎵归噺閫氳繃id鍒犻櫎")
+    public Result<Object> delAllByIds(@RequestParam String[] ids) {
+
+        for (String id : ids) {
+            iSignCountService.removeById(id);
+        }
+        return ResultUtil.success("鎵归噺閫氳繃id鍒犻櫎鏁版嵁鎴愬姛");
+    }
+
+    @GetMapping("/outExcels")
+    @ApiOperation(value = "瀵煎嚭绛炬敹缁熻淇℃伅琛�", notes = "瀵煎嚭绛炬敹缁熻淇℃伅琛�")
+    public void export1(OrderStatusCount orderStatusCount, HttpServletResponse response,QueryRequest queryRequest) throws IOException {
+        List<OrderStatusCount> orderStatus = this.iSignCountService.signCounts(orderStatusCount,queryRequest).getRecords();
+        response.setContentType("application/vnd.ms-excel");
+        response.setCharacterEncoding("utf-8");
+        String fileName = URLEncoder.encode("绛炬敹鏁伴噺缁熻鎶ヨ〃", "UTF-8");
+        String fileName2 = new String(fileName.getBytes("UTF-8"), "ISO8859-1");
+//        response.setHeader("Content-dispostion", "attachment;filename="+fileName+".xls");
+        response.setHeader("Content-disposition", "attachment;filename=" + fileName2 + ".xlsx");
+        EasyExcel.write(response.getOutputStream(),OrderStatusCount.class).
+                sheet(0).doWrite(orderStatus);
+    }
+
+    @GetMapping(value = "/selectBySign")
+    public  Result<IPage<OrderStatusCount>> signCounts(OrderStatusCount orderStatusCount,QueryRequest queryRequest) {
+        IPage<OrderStatusCount> data = this.iSignCountService.signCounts(orderStatusCount,queryRequest);
+        return  new ResultUtil<IPage<OrderStatusCount>>().setData(data);
+    }
+}
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/wx/TaskController.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/wx/TaskController.java
new file mode 100644
index 0000000..fbb22e4
--- /dev/null
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/wx/TaskController.java
@@ -0,0 +1,114 @@
+package cn.exrick.xboot.your.controller.wx;
+
+import cn.exrick.xboot.core.common.utils.ObjectUtil;
+import cn.exrick.xboot.core.common.utils.ResultUtil;
+import cn.exrick.xboot.your.entity.OrderStatusCount;
+import cn.exrick.xboot.your.entity.SignCount;
+import cn.exrick.xboot.your.entity.Suggest;
+import cn.exrick.xboot.your.service.IOrderTaskService;
+import cn.exrick.xboot.your.service.ISignCountService;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
+
+import javax.rmi.CORBA.Util;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+
+@Component
+@Configuration      //1.涓昏鐢ㄤ簬鏍囪閰嶇疆绫伙紝鍏煎Component鐨勬晥鏋溿��
+@EnableScheduling
+@AllArgsConstructor
+public class TaskController {
+    private IOrderTaskService iOrderTaskService;
+    private ISignCountService iSignCountService;
+
+    //3.娣诲姞瀹氭椂浠诲姟
+//    @Scheduled(cron = "0/5 * * * * ?")
+//    @Scheduled(cron = "0 */1 * * * ?")
+//    @Scheduled(cron = "0 0 2 * * ?")//姣忓ぉ鍑屾櫒涓ょ偣鎵ц涓�娆�
+    @Scheduled(cron = " 0 0 */1 * * ?")//姣忓皬鏃舵墽琛屼竴娆�
+    //鎴栫洿鎺ユ寚瀹氭椂闂撮棿闅旓紝渚嬪锛�5绉�
+    //@Scheduled(fixedRate=5000)
+    private void configureTasks() {
+        System.err.println("鎵ц瀛樺偍鏁版嵁瀹氭椂浠诲姟鏃堕棿: " + LocalDateTime.now());
+        OrderStatusCount orderStatusCount = new OrderStatusCount();
+        List<OrderStatusCount> StatusCounts = iOrderTaskService.countStatus(orderStatusCount);
+        if (StatusCounts != null && StatusCounts.size() != 0) {
+            List<SignCount> list = iSignCountService.list();
+            for (OrderStatusCount statusCount : StatusCounts) {
+                SignCount signCount = new SignCount();
+                boolean flag = false;
+                for (SignCount signCountS : list) {
+                    if (signCountS.getTaskId().equals(statusCount.getId())) {
+                        signCount.setId(signCountS.getId());
+                        signCount.setCarName(statusCount.getCarName());
+                        signCount.setAmount(statusCount.getAmount());
+                        signCount.setSignCount(statusCount.getSignCount());
+                        signCount.setAbnormalSign(statusCount.getAbnormalSign());
+                        signCount.setBatch(statusCount.getBatch());
+                        signCount.setLine(statusCount.getLine());
+                        signCount.setNotSignCount(statusCount.getNotSignCount());
+                        String SendDate=getBeforeOneDayByStringDate(statusCount.getSendDate());
+                        signCount.setSendDate(SendDate);
+                        signCount.setProportion(statusCount.getProportion());
+                        signCount.setUserName(statusCount.getUserName());
+                        signCount.setTaskId(statusCount.getId());
+                        iSignCountService.saveOrUpdate(signCount);
+                        System.out.println("鏇存柊鎴愬姛");
+                        flag = true;
+                        break;
+                    }
+
+                }
+                if (flag) {
+                    continue;
+                }
+                signCount.setCarName(statusCount.getCarName());
+                signCount.setAmount(statusCount.getAmount());
+                signCount.setSignCount(statusCount.getSignCount());
+                signCount.setAbnormalSign(statusCount.getAbnormalSign());
+                signCount.setBatch(statusCount.getBatch());
+                signCount.setLine(statusCount.getLine());
+                signCount.setNotSignCount(statusCount.getNotSignCount());
+
+                String SendDate=getBeforeOneDayByStringDate(statusCount.getSendDate());
+                signCount.setSendDate(SendDate);
+                signCount.setProportion(statusCount.getProportion());
+                signCount.setUserName(statusCount.getUserName());
+                signCount.setTaskId(statusCount.getId());
+                if (iSignCountService.saveOrUpdate(signCount)) {
+                    System.out.println("瀹氭椂瀛樺偍鎴愬姛");
+                }
+            }
+        }
+    }
+    private String getBeforeOneDayByStringDate(String dateString) {
+        String times = "";
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+        Date d;
+        try {
+            d = format.parse(dateString);
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(d);
+            calendar.add(Calendar.DAY_OF_MONTH, -1);  // 鍦ㄥ綋鍓嶆棩鍩虹涓�-1
+            String format1 = format.format(calendar.getTime());
+            times = format1;
+            //鑾峰彇String绫诲瀷鐨勬椂闂�
+
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        return times;
+    }
+}
\ No newline at end of file
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderStatusCount.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderStatusCount.java
new file mode 100644
index 0000000..e687fdc
--- /dev/null
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderStatusCount.java
@@ -0,0 +1,83 @@
+package cn.exrick.xboot.your.entity;
+
+import cn.exrick.xboot.core.base.XbootBaseEntity;
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentLoopMerge;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import org.hibernate.annotations.DynamicInsert;
+import org.hibernate.annotations.DynamicUpdate;
+
+import javax.persistence.Entity;
+
+@Data
+//@Excel("绛炬敹鐘舵�佺粺璁℃姤琛�")
+public class OrderStatusCount {
+    //    @ContentLoopMerge(eachRow = 5)
+    @ExcelProperty("杞﹀彿")
+    @TableField(value = "carName")
+    private String carName;
+    //    @ContentLoopMerge(eachRow = 5)
+    @ExcelProperty("绾胯矾")
+    @TableField(value = "line")
+    private String line;
+    @ExcelProperty("鎵规")
+    @TableField(value = "batch")
+    private String batch;
+    @ExcelProperty("鎬绘暟閲�")
+    @TableField(value = "amount")
+    private String amount;
+    @ExcelProperty("鏈鏀�")
+    @TableField(value = "notSignCount")
+    private String notSignCount;
+    @ExcelProperty("绛炬敹")
+    @TableField(value = "signCount")
+    private String signCount;
+    @ExcelProperty("寮傚父绛炬敹")
+    @TableField(value = "abnormalSign")
+    private String abnormalSign;
+    @ExcelProperty("绛炬敹鐜�")
+    @TableField(value = "proportion")
+    private String proportion;
+    @ExcelProperty("鏃ユ湡")
+    @ColumnWidth(20)
+    private String sendDate;
+    //    1 鎸夋棩鏌ヨ   3鎸夋湀鏌ヨ
+    @ExcelIgnore
+    private String StatisticalType;
+    //寮�濮嬫椂闂�
+    @ExcelIgnore
+    private String sendDateStart;
+    //    缁撴潫鏃堕棿
+    @ExcelIgnore
+    private String sendDateEnd;
+    @ExcelIgnore
+    private String id;
+    @ExcelIgnore
+    private String taskId;
+    @ExcelIgnore
+    private String carId;
+    @ExcelIgnore
+    private String carNo;
+    @ExcelIgnore
+    private String name;
+    @ExcelIgnore
+    private String userName;
+
+    @ExcelIgnore
+    private String carTime;
+    @ExcelIgnore
+    private String oneBatch;
+    @ExcelIgnore
+    private String twoBatch;
+    @ExcelIgnore
+    private String threeBatch;
+    @ExcelIgnore
+    private String fourBatch;
+    @ExcelIgnore
+    private String fiveBatch;
+    @ExcelIgnore
+    private String sendMonth;
+}
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderTask.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderTask.java
index fe7832c..189d69e 100644
--- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderTask.java
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderTask.java
@@ -80,7 +80,7 @@
     @ApiModelProperty(value = "鏄惁椹跺嚭鏈堝彴锛�0锛氬惁  1:鏄級")
     private int isOut;
 
-    @ApiModelProperty(value = "0閰嶉�佷腑锛�1宸查�佽揪锛�3寮傚父绛炬敹")
+    @ApiModelProperty(value = "0閰嶉�佷腑锛�1宸查�佽揪锛�2寮傚父绛炬敹")
     private int status;
 
     @ApiModelProperty(value = "鏃犳硶閫佽揪鐨勫師鍥�")
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/QueryRequest.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/QueryRequest.java
new file mode 100644
index 0000000..4fe812c
--- /dev/null
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/QueryRequest.java
@@ -0,0 +1,36 @@
+package cn.exrick.xboot.your.entity;
+
+import lombok.Data;
+import lombok.ToString;
+
+import java.io.Serializable;
+
+/**
+ * @author hbcf
+ */
+@Data
+@ToString
+public class QueryRequest implements Serializable {
+
+    private static final long serialVersionUID = -4869594085374385813L;
+
+    /**
+     * 褰撳墠椤甸潰鏁版嵁閲�
+     */
+    private int pageSize = 2000;
+
+    /**
+     * 褰撳墠椤电爜
+     */
+    private int pageNum = 1;
+
+    /**
+     * 鎺掑簭瀛楁
+     */
+    private String field;
+
+    /**
+     * 鎺掑簭瑙勫垯锛宎sc鍗囧簭锛宒esc闄嶅簭
+     */
+    private String order;
+}
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/SignCount.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/SignCount.java
new file mode 100644
index 0000000..4441ff8
--- /dev/null
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/SignCount.java
@@ -0,0 +1,80 @@
+package cn.exrick.xboot.your.entity;
+
+import cn.exrick.xboot.core.base.XbootBaseEntity;
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.hibernate.annotations.DynamicInsert;
+import org.hibernate.annotations.DynamicUpdate;
+import org.springframework.data.annotation.CreatedDate;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author whj
+ */
+@Data
+@Table(name = "t_sign")
+@TableName("t_sign")
+@ApiModel(value = "鐘舵�佺粺璁¤〃")
+public class SignCount {
+
+//    private static final long serialVersionUID = 1L;
+
+    @ExcelProperty("杞﹀彿" )
+    @ApiModelProperty(value = "杞﹀彿")
+    private String carName;
+    @ExcelProperty("绾胯矾" )
+    @TableField(value = "line" )
+    private String  line;
+    @ExcelProperty("鎵规" )
+    @TableField(value = "batch" )
+    private String batch;
+    @ExcelProperty("鎬绘暟閲�" )
+    @ApiModelProperty(value = "鎬绘暟閲�")
+    private String amount;
+    @ExcelProperty("鏈鏀�" )
+    private String notSignCount;
+    @ExcelProperty("绛炬敹" )
+    private String signCount;
+    @ExcelProperty("寮傚父绛炬敹" )
+    private String abnormalSign;
+    @ExcelProperty("绛炬敹鐜�" )
+    @TableField(value = "proportion" )
+    private String proportion;
+    @ExcelProperty("鏃ユ湡" )
+    private String sendDate;
+    @ExcelIgnore
+    private String id;
+    @ExcelIgnore
+    private String userName;
+    @ExcelIgnore
+    private String sendDateStart;
+    @ExcelIgnore
+    private String sendDateEnd;
+    @ExcelIgnore
+    private String taskId;
+    @ExcelIgnore
+    private String carNo;
+    @ExcelIgnore
+    private String name;
+    @CreatedDate
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @TableField(fill = FieldFill.INSERT)
+    @ExcelIgnore
+    private Date createTime;
+
+}
\ No newline at end of file
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/OrderTaskMapper.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/OrderTaskMapper.java
index 4d2c97b..eff8933 100644
--- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/OrderTaskMapper.java
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/OrderTaskMapper.java
@@ -1,6 +1,7 @@
 package cn.exrick.xboot.your.mapper;
 
 import cn.exrick.xboot.your.entity.AddOil;
+import cn.exrick.xboot.your.entity.OrderStatusCount;
 import cn.exrick.xboot.your.entity.Suggest;
 import cn.exrick.xboot.your.vo.Month;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -18,6 +19,7 @@
  * 璁㈠崟琛ㄦ暟鎹鐞嗗眰
  * @author whj
  */
+//@Repository
 public interface OrderTaskMapper extends BaseMapper<OrderTask> {
 
     @Select("SELECT sum(num) FROM t_order_task where area_id=#{arg0} and DATE_FORMAT(send_date,'%Y-%m-%d')=#{arg1}")
@@ -87,4 +89,6 @@
 
     @Select("SELECT o.*,c.name as customerName FROM t_order_task o LEFT JOIN t_customer c ON o.customer_id=c.id ${ew.customSqlSegment}")
     IPage<OrderTask> page3(Page initMpPage,@Param(Constants.WRAPPER) QueryWrapper<OrderTask> wrapper);
+
+    List<OrderStatusCount> countStatus( OrderStatusCount orderStatusCount);
 }
\ No newline at end of file
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/SignCountMapper.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/SignCountMapper.java
new file mode 100644
index 0000000..e315436
--- /dev/null
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/SignCountMapper.java
@@ -0,0 +1,22 @@
+package cn.exrick.xboot.your.mapper;
+
+import cn.exrick.xboot.your.entity.OrderStatusCount;
+import cn.exrick.xboot.your.entity.QueryRequest;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import cn.exrick.xboot.your.entity.SignCount;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 鐘舵�佺粺璁¤〃鏁版嵁澶勭悊灞�
+ * @author whj
+ */
+public interface SignCountMapper extends BaseMapper<SignCount> {
+
+    IPage<OrderStatusCount> signCounts( @Param("bo")OrderStatusCount orderStatusCount, Page<OrderStatusCount> page);
+
+    IPage<OrderStatusCount> signCount( @Param("bo")OrderStatusCount orderStatusCount,Page<OrderStatusCount> page);
+}
\ No newline at end of file
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/CarLocationScheduleImpl.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/CarLocationScheduleImpl.java
index a376046..a3adc84 100644
--- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/CarLocationScheduleImpl.java
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/CarLocationScheduleImpl.java
@@ -1,4 +1,4 @@
-//package cn.exrick.xboot.your.schedulings;
+package cn.exrick.xboot.your.schedulings;//package cn.exrick.xboot.your.schedulings;
 //import cn.exrick.xboot.your.entity.Car;
 //import cn.exrick.xboot.your.entity.CarLocation;
 //import cn.exrick.xboot.your.service.*;
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IOrderTaskService.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IOrderTaskService.java
index eeb3fae..2ee8f70 100644
--- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IOrderTaskService.java
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IOrderTaskService.java
@@ -1,5 +1,6 @@
 package cn.exrick.xboot.your.service;
 
+import cn.exrick.xboot.your.entity.OrderStatusCount;
 import cn.exrick.xboot.your.entity.Suggest;
 import cn.exrick.xboot.your.vo.Month;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -39,4 +40,6 @@
     IPage<OrderTask> page2(Page initMpPage);
 
     IPage<OrderTask> page3(Page initMpPage, QueryWrapper<OrderTask> wrapper);
+
+    List<OrderStatusCount> countStatus(OrderStatusCount orderStatusCount);
 }
\ No newline at end of file
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/ISignCountService.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/ISignCountService.java
new file mode 100644
index 0000000..3697e83
--- /dev/null
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/ISignCountService.java
@@ -0,0 +1,18 @@
+package cn.exrick.xboot.your.service;
+
+import cn.exrick.xboot.your.entity.OrderStatusCount;
+import cn.exrick.xboot.your.entity.QueryRequest;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import cn.exrick.xboot.your.entity.SignCount;
+
+import java.util.List;
+
+/**
+ * 鐘舵�佺粺璁¤〃鎺ュ彛
+ * @author whj
+ */
+public interface ISignCountService extends IService<SignCount> {
+
+    IPage<OrderStatusCount> signCounts(OrderStatusCount orderStatusCount, QueryRequest queryRequest);
+}
\ No newline at end of file
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IOrderTaskServiceImpl.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IOrderTaskServiceImpl.java
index d4946fc..c9c2fec 100644
--- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IOrderTaskServiceImpl.java
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IOrderTaskServiceImpl.java
@@ -1,5 +1,6 @@
 package cn.exrick.xboot.your.serviceimpl;
 
+import cn.exrick.xboot.your.entity.OrderStatusCount;
 import cn.exrick.xboot.your.entity.Suggest;
 import cn.exrick.xboot.your.mapper.OrderTaskMapper;
 import cn.exrick.xboot.your.entity.OrderTask;
@@ -91,4 +92,9 @@
     public IPage<OrderTask> page3(Page initMpPage, QueryWrapper<OrderTask> wrapper) {
         return orderTaskMapper.page3(initMpPage,wrapper);
     }
+
+    @Override
+    public List<OrderStatusCount> countStatus(OrderStatusCount orderStatusCount) {
+        return this.orderTaskMapper.countStatus(orderStatusCount);
+    }
 }
\ No newline at end of file
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/ISignCountServiceImpl.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/ISignCountServiceImpl.java
new file mode 100644
index 0000000..34fd295
--- /dev/null
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/ISignCountServiceImpl.java
@@ -0,0 +1,49 @@
+package cn.exrick.xboot.your.serviceimpl;
+
+import cn.exrick.xboot.your.entity.OrderStatusCount;
+import cn.exrick.xboot.your.entity.QueryRequest;
+import cn.exrick.xboot.your.mapper.SignCountMapper;
+import cn.exrick.xboot.your.entity.SignCount;
+import cn.exrick.xboot.your.service.ISignCountService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import jodd.util.StringUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.StringUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 鐘舵�佺粺璁¤〃鎺ュ彛瀹炵幇
+ * @author whj
+ */
+@Slf4j
+@Service
+@Transactional
+public class ISignCountServiceImpl extends ServiceImpl<SignCountMapper, SignCount> implements ISignCountService {
+
+    @Autowired
+    private SignCountMapper signCountMapper;
+
+    @Override
+    public IPage<OrderStatusCount> signCounts(OrderStatusCount orderStatusCount,QueryRequest queryRequest) {
+        Page<OrderStatusCount> page = new Page<>();
+        if (org.apache.commons.lang3.StringUtils.isNotBlank(queryRequest.getPageSize() + "") && (queryRequest.getPageSize() != 0)) {
+            page.setCurrent(queryRequest.getPageNum());
+            page.setSize(queryRequest.getPageSize());
+        } else {
+            page.setCurrent(0);
+            page.setSize(-1);
+        }
+        if(StringUtil.isNotBlank(orderStatusCount.getStatisticalType())){
+
+            return this.signCountMapper.signCounts(orderStatusCount,page);
+        }
+        return this.signCountMapper.signCount(orderStatusCount,page);
+    }
+}
\ No newline at end of file
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/vo/FindHistoryGpsRequest.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/vo/FindHistoryGpsRequest.java
old mode 100755
new mode 100644
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/vo/PlaybackURLsVo.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/vo/PlaybackURLsVo.java
old mode 100755
new mode 100644
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/vo/PreviewURLsVo.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/vo/PreviewURLsVo.java
old mode 100755
new mode 100644
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/vo/TalkURLsVo.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/vo/TalkURLsVo.java
old mode 100755
new mode 100644
diff --git a/xboot-modules/xboot-your/src/main/resources/mapper/OrderTaskMapper.xml b/xboot-modules/xboot-your/src/main/resources/mapper/OrderTaskMapper.xml
index 4f01f66..638c0d3 100644
--- a/xboot-modules/xboot-your/src/main/resources/mapper/OrderTaskMapper.xml
+++ b/xboot-modules/xboot-your/src/main/resources/mapper/OrderTaskMapper.xml
@@ -1,5 +1,79 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="cn.exrick.xboot.your.mapper.OrderTaskMapper">
+    <select id="countStatus" resultType="cn.exrick.xboot.your.entity.OrderStatusCount">
 
+        SELECT
+        <if test="StatisticalType!=null and StatisticalType !='' and StatisticalType == '1'.toString()">
+            DATE(DATE_FORMAT(DATE_SUB(a.send_date,INTERVAL 1 DAY),'%Y-%m-%d')) warntime,
+        </if>
+        <if test="StatisticalType!=null and StatisticalType !='' and StatisticalType == '2'.toString()">
+            WEEK(DATE_FORMAT(DATE_SUB(a.send_date,INTERVAL 1 DAY),'%Y-%m-%d')) warntime,
+        </if>
+        <if test="StatisticalType!=null and StatisticalType !='' and StatisticalType == '3'.toString()">
+           MONTH(DATE_FORMAT(DATE_SUB(a.send_date,INTERVAL 1 DAY),'%Y-%m-%d')) warntime,
+        </if>
+        <if test="StatisticalType!=null and StatisticalType !='' and StatisticalType == '4'.toString()">
+            YEAR(DATE_FORMAT(DATE_SUB(a.send_date,INTERVAL 1 DAY),'%Y-%m-%d')) warntime,
+        </if>
+        b.car_no AS carName,
+        c.NAME AS line,
+        d.NAME AS batch,
+        a.send_date,
+        e.nickname as username,
+        a.id,
+        count( a.area_section_id ) AS amount,
+        sum( CASE WHEN a.STATUS = 0 THEN 1 ELSE 0 END ) AS notSignCount,
+        sum( CASE WHEN a.STATUS = 1 THEN 1 ELSE 0 END ) AS signCount ,
+        ( count( a.status = 1 OR NULL )/ count(a.status >= 0 OR NULL ) * 100 ) AS proportion
+
+        FROM
+        t_order_task a
+        LEFT JOIN t_car b ON a.car_id = b.id
+        LEFT JOIN t_area c ON a.area_id = c.id
+        LEFT JOIN t_area_ection d ON a.area_section_id = d.id
+        LEFT JOIN t_user e ON e.id = b.user_id
+        <where>
+            1=1
+            <if test="carId != null and carId != ''" >
+                AND a.car_id = #{carId}
+            </if>
+            <if test="carNo != null and carNo != ''" >
+                AND b.car_no = #{carNo}
+            </if>
+            <if test="name != null and name != ''" >
+                AND d.NAME = #{name}
+            </if>
+            <if test="sendDate != null and sendDate != ''">
+                AND  DATE_FORMAT(a.send_date,'%Y-%m-%d') = #{sendDate}
+            </if>
+            <if test="sendDateStart != null and sendDateStart != ''">
+                AND send_date >= #{createTimeFrom}
+            </if>
+            <if test="sendDateEnd != null and sendDateEnd != ''">
+                AND send_date &lt; #{createTimeTo}
+            </if>
+        </where>
+        GROUP BY
+        <if test="StatisticalType!=null and StatisticalType !='' and StatisticalType == '1'.toString()">
+            DATE(a.send_date),
+        </if>
+        <if test="StatisticalType!=null and StatisticalType !='' and StatisticalType == '2'.toString()">
+            WEEK(a.send_date,1),
+        </if>
+        <if test="StatisticalType!=null and StatisticalType !='' and StatisticalType == '3'.toString()">
+            MONTH(a.send_date),
+        </if>
+        <if test="StatisticalType!=null and StatisticalType !='' and StatisticalType == '4'.toString()">
+            YEAR(a.send_date),
+        </if>
+        a.area_section_id,
+        b.car_no,
+        c.NAME,
+        d.NAME,
+        a.send_date
+        ORDER BY
+        c.NAME ASC,
+        a.send_date asc
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/xboot-modules/xboot-your/src/main/resources/mapper/SignCountMapper.xml b/xboot-modules/xboot-your/src/main/resources/mapper/SignCountMapper.xml
new file mode 100644
index 0000000..7e2b84c
--- /dev/null
+++ b/xboot-modules/xboot-your/src/main/resources/mapper/SignCountMapper.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.exrick.xboot.your.mapper.SignCountMapper">
+    <select id="signCounts" resultType="cn.exrick.xboot.your.entity.OrderStatusCount">
+
+        SELECT
+        <if test="bo.StatisticalType!=null and bo.StatisticalType !='' and bo.StatisticalType == '1'.toString()">
+            DATE(DATE_FORMAT(send_date,'%Y-%m-%d') ) sendDate,
+            amount,
+            abnormal_sign as abnormalSign,
+            not_sign_count as  notSignCount,
+            sign_count as signCount ,
+            CONCAT_WS( '',ROUND(proportion,0), '%') as proportion,
+        </if>
+        <if test="bo.StatisticalType!=null and bo.StatisticalType !='' and bo.StatisticalType == '2'.toString()">
+            WEEK(DATE_FORMAT(DATE_SUB(send_date,INTERVAL 1 DAY),'%Y-%m-%d')) sendDate,
+        </if>
+        <if test="bo.StatisticalType!=null and bo.StatisticalType !='' and bo.StatisticalType == '3'.toString()">
+            CONCAT_WS('',YEAR(send_date),'骞�',MONTH(DATE_FORMAT(send_date,'%Y-%m-%d')),'鏈�')sendDate,
+            sum(amount),
+            sum(abnormal_sign) AS abnormalSign,
+            sum(not_sign_count) AS notSignCount,
+            sum(sign_count )AS signCount,
+            CONCAT_WS( '',ROUND(AVG(proportion),0), '%') as proportion,
+        </if>
+        <if test="bo.StatisticalType!=null and bo.StatisticalType !='' and bo.StatisticalType == '4'.toString()">
+            YEAR(DATE_FORMAT(DATE_SUB(send_date,INTERVAL 1 DAY),'%Y-%m-%d')) sendDate,
+        </if>
+        car_name,
+        (CASE `batch` WHEN '01娈�' THEN batch ELSE 0 END) as 'oneBatch',
+        (CASE `batch` WHEN '02娈�' THEN batch ELSE 0 END) as 'twoBatch',
+        (CASE `batch` WHEN '03娈�' THEN batch ELSE 0 END) as 'threeBatch',
+        (CASE `batch` WHEN '04娈�' THEN batch ELSE 0 END) as 'fourBatch',
+        (CASE `batch` WHEN '05娈�' THEN batch ELSE 0 END) as 'fiveBatch',
+        line,
+        batch,
+        user_name as userName
+        FROM
+        t_sign
+    <where>
+        1=1
+        <if test="bo.line != null and bo.line != ''" >
+            AND  line = #{bo.line}
+        </if>
+        <if test="bo.carName != null and bo.carName != ''" >
+            AND car_name like  CONCAT ('%',#{bo.carName},'%')
+        </if>
+        <if test="bo.batch != null and bo.batch != ''" >
+            AND  batch = #{bo.batch}
+        </if>
+        <if test="bo.userName != null and bo.userName != ''" >
+            AND  user_name = #{bo.userName}
+        </if>
+        <if test="bo.sendDate != null and bo.sendDate != ''">
+            AND  DATE_FORMAT(send_date,'%Y-%m-%d') = #{bo.sendDate}
+        </if>
+        <if test="bo.sendDateStart != null and bo.sendDateStart != ''">
+            AND send_date >= #{bo.sendDateStart}
+        </if>
+        <if test="bo.sendDateEnd != null and bo.sendDateEnd != ''">
+            AND send_date &lt;= #{bo.sendDateEnd}
+        </if>
+    </where>
+        GROUP BY
+        <if test="bo.StatisticalType!=null and bo.StatisticalType !='' and bo.StatisticalType == '1'.toString()">
+            DATE(send_date),
+        </if>
+        <if test="bo.StatisticalType!=null and bo.StatisticalType !='' and bo.StatisticalType == '2'.toString()">
+            WEEK(send_date,1),
+        </if>
+        <if test="bo.StatisticalType!=null and bo.StatisticalType !='' and bo.StatisticalType == '3'.toString()">
+            MONTH(send_date),
+        </if>
+        <if test="bo.StatisticalType!=null and bo.StatisticalType !='' and bo.StatisticalType == '4'.toString()">
+            YEAR(send_date),
+        </if>
+        car_name,
+        line,
+        batch
+        ORDER BY
+        line ASC,
+        send_date asc
+    </select>
+
+    <select id="signCount" resultType="cn.exrick.xboot.your.entity.OrderStatusCount">
+
+        SELECT
+        DATE_FORMAT(send_date,'%Y-%m-%d')  as  sendDate,
+        (CASE `batch` WHEN '01娈�' THEN batch ELSE 0 END) as 'oneBatch',
+        (CASE `batch` WHEN '02娈�' THEN batch ELSE 0 END) as 'twoBatch',
+        (CASE `batch` WHEN '03娈�' THEN batch ELSE 0 END) as 'threeBatch',
+        (CASE `batch` WHEN '04娈�' THEN batch ELSE 0 END) as 'fourBatch',
+        (CASE `batch` WHEN '05娈�' THEN batch ELSE 0 END) as 'fiveBatch',
+        CONCAT_WS('',YEAR(send_date),'骞�',MONTH(send_date),'鏈�')sendMonth,
+        amount,
+        abnormal_sign as abnormalSign,
+        not_sign_count as  notSignCount,
+        sign_count as signCount ,
+        CONCAT_WS( '',ROUND(proportion,0), '%') as proportion,
+        car_name,
+        line,
+        batch,
+        user_name as userName
+        FROM
+        t_sign
+        <where>
+            1=1
+            <if test="bo.line != null and bo.line != ''" >
+                AND  line = #{bo.line}
+            </if>
+            <if test="bo.carName != null and bo.carName != ''" >
+                AND car_name like  CONCAT ('%',#{bo.carName},'%')
+            </if>
+            <if test="bo.batch != null and bo.batch != ''" >
+                AND  batch = #{bo.batch}
+            </if>
+            <if test="bo.userName != null and bo.userName != ''" >
+                AND  user_name = #{bo.userName}
+            </if>
+            <if test="bo.sendDate != null and bo.sendDate != ''">
+                AND  DATE_FORMAT(send_date,'%Y-%m-%d') = #{bo.sendDate}
+            </if>
+            <if test="bo.sendDateStart != null and bo.sendDateStart != ''">
+                AND send_date >= #{bo.sendDateStart}
+            </if>
+            <if test="bo.sendDateEnd != null and bo.sendDateEnd != ''">
+                AND send_date &lt;= #{bo.sendDateEnd}
+            </if>
+        </where>
+        GROUP BY
+          DATE(send_date),
+        car_name,
+        line,
+        batch
+        ORDER BY
+        line ASC,
+        send_date asc
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/xboot-modules/xboot-your/xboot-your.iml b/xboot-modules/xboot-your/xboot-your.iml
deleted file mode 100644
index 622f497..0000000
--- a/xboot-modules/xboot-your/xboot-your.iml
+++ /dev/null
@@ -1,268 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
-  <component name="FacetManager">
-    <facet type="jpa" name="JPA">
-      <configuration>
-        <setting name="validation-enabled" value="true" />
-        <setting name="provider-name" value="Hibernate" />
-        <datasource-mapping>
-          <factory-entry name="entityManagerFactory" />
-        </datasource-mapping>
-        <naming-strategy-map />
-      </configuration>
-    </facet>
-    <facet type="Spring" name="Spring">
-      <configuration />
-    </facet>
-    <facet type="web" name="Web">
-      <configuration>
-        <webroots />
-      </configuration>
-    </facet>
-  </component>
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
-    <output url="file://$MODULE_DIR$/target/classes" />
-    <output-test url="file://$MODULE_DIR$/target/test-classes" />
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
-      <excludeFolder url="file://$MODULE_DIR$/target" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="module" module-name="xboot-core" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.4.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.4.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.4.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.4.8" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.13.3" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.13.3" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.31" level="project" />
-    <orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-core:5.3.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.3.8" level="project" />
-    <orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.27" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.4.8" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.11.4" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.4" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.11.4" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.4.8" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.48" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.48" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-web:5.3.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-beans:5.3.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.3.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-context:5.3.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.3.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-validation:2.4.8" level="project" />
-    <orderEntry type="library" name="Maven: org.glassfish:jakarta.el:3.0.3" level="project" />
-    <orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.1.7.Final" level="project" />
-    <orderEntry type="library" name="Maven: jakarta.validation:jakarta.validation-api:2.0.2" level="project" />
-    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.4.2.Final" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-security:2.4.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.3.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-config:5.4.7" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:5.4.7" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-web:5.4.7" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.4.8" level="project" />
-    <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.6" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-elasticsearch:2.4.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-elasticsearch:4.1.10" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-tx:5.3.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.4.10" level="project" />
-    <orderEntry type="library" name="Maven: org.elasticsearch.plugin:transport-netty4-client:7.9.3" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-codec-http:4.1.65.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.65.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.elasticsearch.client:elasticsearch-rest-high-level-client:7.9.3" level="project" />
-    <orderEntry type="library" name="Maven: org.elasticsearch:elasticsearch:7.9.3" level="project" />
-    <orderEntry type="library" name="Maven: org.elasticsearch:elasticsearch-core:7.9.3" level="project" />
-    <orderEntry type="library" name="Maven: org.elasticsearch:elasticsearch-secure-sm:7.9.3" level="project" />
-    <orderEntry type="library" name="Maven: org.elasticsearch:elasticsearch-x-content:7.9.3" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-smile:2.11.4" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.11.4" level="project" />
-    <orderEntry type="library" name="Maven: org.elasticsearch:elasticsearch-geo:7.9.3" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-core:8.6.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-analyzers-common:8.6.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-backward-codecs:8.6.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-grouping:8.6.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-highlighter:8.6.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-join:8.6.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-memory:8.6.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-misc:8.6.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-queries:8.6.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-queryparser:8.6.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-sandbox:8.6.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-spatial-extras:8.6.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-spatial3d:8.6.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-suggest:8.6.2" level="project" />
-    <orderEntry type="library" name="Maven: org.elasticsearch:elasticsearch-cli:7.9.3" level="project" />
-    <orderEntry type="library" name="Maven: net.sf.jopt-simple:jopt-simple:5.0.2" level="project" />
-    <orderEntry type="library" name="Maven: com.carrotsearch:hppc:0.8.1" level="project" />
-    <orderEntry type="library" name="Maven: joda-time:joda-time:2.10.4" level="project" />
-    <orderEntry type="library" name="Maven: com.tdunning:t-digest:3.2" level="project" />
-    <orderEntry type="library" name="Maven: org.elasticsearch:jna:5.5.0" level="project" />
-    <orderEntry type="library" name="Maven: org.elasticsearch.client:elasticsearch-rest-client:7.9.3" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpasyncclient:4.1.4" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore-nio:4.4.14" level="project" />
-    <orderEntry type="library" name="Maven: org.elasticsearch.plugin:mapper-extras-client:7.9.3" level="project" />
-    <orderEntry type="library" name="Maven: org.elasticsearch.plugin:parent-join-client:7.9.3" level="project" />
-    <orderEntry type="library" name="Maven: org.elasticsearch.plugin:aggs-matrix-stats-client:7.9.3" level="project" />
-    <orderEntry type="library" name="Maven: org.elasticsearch.plugin:rank-eval-client:7.9.3" level="project" />
-    <orderEntry type="library" name="Maven: org.elasticsearch.plugin:lang-mustache-client:7.9.3" level="project" />
-    <orderEntry type="library" name="Maven: com.github.spullara.mustache.java:compiler:0.9.6" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.4" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.31" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-jpa:2.4.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.4.8" level="project" />
-    <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.4.5" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.3.8" level="project" />
-    <orderEntry type="library" name="Maven: jakarta.transaction:jakarta.transaction-api:1.3.3" level="project" />
-    <orderEntry type="library" name="Maven: jakarta.persistence:jakarta.persistence-api:2.2.3" level="project" />
-    <orderEntry type="library" name="Maven: org.hibernate:hibernate-core:5.4.32.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.javassist:javassist:3.27.0-GA" level="project" />
-    <orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.22" level="project" />
-    <orderEntry type="library" name="Maven: antlr:antlr:2.7.7" level="project" />
-    <orderEntry type="library" name="Maven: org.jboss:jandex:2.2.3.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.dom4j:dom4j:2.1.3" level="project" />
-    <orderEntry type="library" name="Maven: org.hibernate.common:hibernate-commons-annotations:5.1.2.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.glassfish.jaxb:jaxb-runtime:2.3.4" level="project" />
-    <orderEntry type="library" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" />
-    <orderEntry type="library" name="Maven: org.glassfish.jaxb:txw2:2.3.4" level="project" />
-    <orderEntry type="library" name="Maven: com.sun.istack:istack-commons-runtime:3.0.12" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-jpa:2.4.10" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-orm:5.3.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-aspects:5.3.8" level="project" />
-    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.4.3.1" level="project" />
-    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.4.3.1" level="project" />
-    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.4.3.1" level="project" />
-    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.4.3.1" level="project" />
-    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.4.3.1" level="project" />
-    <orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:4.0" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.7" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.6" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.4.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.4.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:2.4.10" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:2.4.10" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.3.8" level="project" />
-    <orderEntry type="library" name="Maven: io.lettuce:lettuce-core:6.0.6.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-common:4.1.65.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.65.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.65.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.4.7" level="project" />
-    <orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.3" level="project" />
-    <orderEntry type="library" name="Maven: org.redisson:redisson-spring-boot-starter:3.15.6" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-actuator:2.4.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator-autoconfigure:2.4.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator:2.4.8" level="project" />
-    <orderEntry type="library" name="Maven: io.micrometer:micrometer-core:1.6.8" level="project" />
-    <orderEntry type="library" name="Maven: org.hdrhistogram:HdrHistogram:2.1.12" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.latencyutils:LatencyUtils:2.0.3" level="project" />
-    <orderEntry type="library" name="Maven: org.redisson:redisson:3.15.6" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.65.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.65.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-resolver-dns:4.1.65.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-codec-dns:4.1.65.Final" level="project" />
-    <orderEntry type="library" name="Maven: javax.cache:cache-api:1.1.1" level="project" />
-    <orderEntry type="library" name="Maven: io.reactivex.rxjava3:rxjava:3.0.12" level="project" />
-    <orderEntry type="library" name="Maven: org.jboss.marshalling:jboss-marshalling-river:2.0.11.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.jboss.marshalling:jboss-marshalling:2.0.11.Final" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.11.4" level="project" />
-    <orderEntry type="library" name="Maven: org.jodd:jodd-bean:5.1.6" level="project" />
-    <orderEntry type="library" name="Maven: org.jodd:jodd-core:5.1.6" level="project" />
-    <orderEntry type="library" name="Maven: org.redisson:redisson-spring-data-24:3.15.6" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-websocket:2.4.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-messaging:5.3.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-websocket:5.3.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-thymeleaf:2.4.8" level="project" />
-    <orderEntry type="library" name="Maven: org.thymeleaf:thymeleaf-spring5:3.0.12.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.thymeleaf:thymeleaf:3.0.12.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.attoparser:attoparser:2.0.5.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.unbescape:unbescape:1.1.6.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.thymeleaf.extras:thymeleaf-extras-java8time:3.0.4.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-mail:2.4.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.3.8" level="project" />
-    <orderEntry type="library" name="Maven: com.sun.mail:jakarta.mail:1.6.7" level="project" />
-    <orderEntry type="library" name="Maven: com.sun.activation:jakarta.activation:1.2.2" level="project" />
-    <orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt:0.9.1" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.4" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.4" level="project" />
-    <orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-spring-boot-starter:2.0.8" level="project" />
-    <orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-spring-boot-autoconfigure:2.0.8" level="project" />
-    <orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-spring:2.0.8" level="project" />
-    <orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-annotations:2.0.8" level="project" />
-    <orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-core:2.0.8" level="project" />
-    <orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.22" level="project" />
-    <orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.22" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.10.5" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.10.5" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-core:2.10.5" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.10.5" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.10.5" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.10.5" level="project" />
-    <orderEntry type="library" name="Maven: io.github.classgraph:classgraph:4.1.7" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:2.0.0.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:2.0.0.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.3.1.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-bean-validators:2.10.5" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-spring-webmvc:2.10.5" level="project" />
-    <orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-spring-ui:2.0.8" level="project" />
-    <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.7" level="project" />
-    <orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.7.2" level="project" />
-    <orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.20" level="project" />
-    <orderEntry type="library" name="Maven: com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.3" level="project" />
-    <orderEntry type="library" name="Maven: com.github.ulisesbocchio:jasypt-spring-boot:3.0.3" level="project" />
-    <orderEntry type="library" name="Maven: org.jasypt:jasypt:1.9.3" level="project" />
-    <orderEntry type="library" name="Maven: com.aliyun.oss:aliyun-sdk-oss:${aliyun.oss.version}" level="project" />
-    <orderEntry type="library" name="Maven: com.tencentcloudapi:tencentcloud-sdk-java:${tencentcloud.version}" level="project" />
-    <orderEntry type="library" name="Maven: com.aventstack:extentreports-testng-adapter:1.2.2" level="project" />
-    <orderEntry type="library" name="Maven: com.aventstack:extentreports:5.0.1" level="project" />
-    <orderEntry type="library" name="Maven: org.freemarker:freemarker:2.3.31" level="project" />
-    <orderEntry type="library" name="Maven: com.aventstack:klov-reporter:5.0.1" level="project" />
-    <orderEntry type="library" name="Maven: org.mongodb:bson:4.1.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.13" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.14" level="project" />
-    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.15" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.13" level="project" />
-    <orderEntry type="library" name="Maven: org.mongodb:mongodb-driver:3.3.0" level="project" />
-    <orderEntry type="library" name="Maven: org.mongodb:mongodb-driver-core:4.1.2" level="project" />
-    <orderEntry type="library" name="Maven: org.testng:testng:7.1.0" level="project" />
-    <orderEntry type="library" name="Maven: com.beust:jcommander:1.72" level="project" />
-    <orderEntry type="library" name="Maven: com.google.inject:guice:no_aop:4.1.0" level="project" />
-    <orderEntry type="library" name="Maven: javax.inject:javax.inject:1" level="project" />
-    <orderEntry type="library" name="Maven: aopalliance:aopalliance:1.0" level="project" />
-    <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-java:4.0.0-beta-4" level="project" />
-    <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-api:3.141.59" level="project" />
-    <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-chrome-driver:3.141.59" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.commons:commons-exec:1.3" level="project" />
-    <orderEntry type="library" name="Maven: com.google.guava:guava:25.0-jre" level="project" />
-    <orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:1.3.9" level="project" />
-    <orderEntry type="library" name="Maven: org.checkerframework:checker-compat-qual:2.0.0" level="project" />
-    <orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.1.3" level="project" />
-    <orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.1" level="project" />
-    <orderEntry type="library" name="Maven: org.codehaus.mojo:animal-sniffer-annotations:1.14" level="project" />
-    <orderEntry type="library" name="Maven: com.squareup.okhttp3:okhttp:3.14.9" level="project" />
-    <orderEntry type="library" name="Maven: com.squareup.okio:okio:1.14.0" level="project" />
-    <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-devtools-v85:4.0.0-beta-4" level="project" />
-    <orderEntry type="library" name="Maven: com.google.auto.service:auto-service-annotations:1.0" level="project" />
-    <orderEntry type="library" name="Maven: com.google.auto.service:auto-service:1.0" level="project" />
-    <orderEntry type="library" name="Maven: com.google.auto:auto-common:1.0" level="project" />
-    <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-devtools:4.0.0-beta-4" level="project" />
-    <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-http:4.0.0-beta-4" level="project" />
-    <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-json:4.0.0-beta-4" level="project" />
-    <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-devtools-v88:4.0.0-beta-4" level="project" />
-    <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-devtools-v89:4.0.0-beta-4" level="project" />
-    <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-devtools-v90:4.0.0-beta-4" level="project" />
-    <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-devtools-v91:4.0.0-beta-4" level="project" />
-    <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-edge-driver:3.141.59" level="project" />
-    <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-firefox-driver:3.141.59" level="project" />
-    <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-firefox-xpi-driver:4.0.0-beta-4" level="project" />
-    <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-ie-driver:3.141.59" level="project" />
-    <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-opera-driver:3.141.59" level="project" />
-    <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-remote-driver:3.141.59" level="project" />
-    <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-safari-driver:3.141.59" level="project" />
-    <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-support:3.141.59" level="project" />
-  </component>
-</module>
\ No newline at end of file

--
Gitblit v1.9.1