From 5c12c5a4490898f20259e9de83767c4dadff10ba Mon Sep 17 00:00:00 2001
From: wjli <591616088@qq.com>
Date: 星期二, 16 五月 2023 15:42:05 +0800
Subject: [PATCH] 1.根据区域进行模糊查询

---
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderTaskController.java |  194 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 191 insertions(+), 3 deletions(-)

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 c2f0f9b..3b5ff7f 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
@@ -11,6 +11,7 @@
 import cn.exrick.xboot.core.service.UserService;
 import cn.exrick.xboot.your.entity.*;
 import cn.exrick.xboot.your.service.*;
+import cn.exrick.xboot.your.vo.OrderListVo;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.excel.EasyExcel;
@@ -19,12 +20,14 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 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.math.BigDecimal;
 import java.net.URLEncoder;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -82,6 +85,8 @@
 
     @Autowired
     private ICustomerReceiveService iCustomerReceiveService;
+
+    boolean b = false;
 
 
     @RequestMapping(value = "/get/{id}", method = RequestMethod.GET)
@@ -204,6 +209,49 @@
         return new ResultUtil<Object>().setData(map);
     }
 
+    @RequestMapping(value = "/getTodayCount", method = RequestMethod.GET)
+    @ApiOperation(value = "鑾峰彇浠婃棩浠诲姟缁熻淇℃伅")
+    public Result<Object> getAllNew(String sendTime) {
+        Area area = getArea(securityUtil.getCurrUser().getId());
+        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);
+        List<OrderTask> list = iOrderTaskService.list(wrapper2);
+
+        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", "");
+        map.put("sectons", null);
+        if (list.size() > 0) {
+            List<String> temp = new ArrayList<>();
+            List<String> tempIds = new ArrayList<>();
+            List<AreaSection> areaSections = new ArrayList<>();
+            for(int i=0;i<list.size();i++){
+                if(!tempIds.contains(list.get(i).getAreaSectionId())){
+                    tempIds.add(list.get(i).getAreaSectionId());
+                    AreaSection a = iAreaSectionService.getById(list.get(i).getAreaSectionId());
+                    temp.add(a.getName());
+                    areaSections.add(a);
+                }
+            }
+            map.put("name", area.getName() + StringUtils.join(temp,"-"));
+            map.put("sectons",areaSections);
+            temp.clear();
+            tempIds.clear();
+            //areaSections.clear();
+            list.clear();
+        }
+        return new ResultUtil<Object>().setData(map);
+    }
+
     @RequestMapping(value = "/getTodayOrder", method = RequestMethod.GET)
     @ApiOperation(value = "鑾峰彇浠婃棩閰嶉�佷换鍔¤鎯呭垪琛�")
     public Result<List<OrderTask>> getTodayOrder(String sendTime) {
@@ -228,6 +276,86 @@
         return new ResultUtil<List<OrderTask>>().setData(list);
     }
 
+    @RequestMapping(value = "/getTodayOrderByHulue", method = RequestMethod.GET)
+    @ApiOperation(value = "鑾峰彇浠婃棩閰嶉�佷换鍔¤鎯呭垪琛�,蹇界暐鏌愯鍗�,瀹㈡埛绔笓鐢ㄦ帴鍙�")
+    public Result<OrderListVo> getTodayOrderFromHulue(String orderId, String sendTime,String areaSectionId) {
+        //蹇界暐璁㈠崟
+        if (!StrUtil.isEmpty(orderId)) {
+            OrderTask orderTask = iOrderTaskService.getById(orderId);
+            int seq = orderTask.getSeq();
+            orderTask.setSeq(1000+seq);
+            iOrderTaskService.saveOrUpdate(orderTask);
+        }
+        //鑾峰彇璁㈠崟鍒楄〃
+        Area area = getArea(securityUtil.getCurrUser().getId());
+        if (area == null) {
+            return ResultUtil.error("璇疯仈绯荤鐞嗗憳缁戝畾璇ヨ溅杈�");
+        }
+
+        QueryWrapper<OrderTask> wrapper2 = new QueryWrapper<OrderTask>();
+        String format = getFormatDate(sendTime);
+//        wrapper2.eq("a.area_id",area.getId());
+//        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);
+        if(!StrUtil.isEmpty(areaSectionId)){
+            wrapper2.eq("area_section_id", areaSectionId);
+        }
+        wrapper2.orderByAsc("area_section_id").orderByAsc("seq").orderByAsc("status");
+        List<OrderTask> list = iOrderTaskService.list(wrapper2);
+        int num = 0;
+        for (OrderTask obj : list) {
+            obj.setCode(obj.getLinker());
+            if(obj.getStatus()==1){
+                num++;
+            }
+        }
+        String percent = getPercent(num,list.size());
+        OrderListVo vo = new OrderListVo();
+        vo.setOrderTasks(list);
+        vo.setPercent(percent);
+        return new ResultUtil<OrderListVo>().setData(vo);
+    }
+
+    public String getPercent(int num,int totalNum){
+        if(totalNum>0){
+            BigDecimal number = new BigDecimal(0);
+            number=BigDecimal.valueOf((int)num);
+            BigDecimal total = new BigDecimal(0);
+            total=BigDecimal.valueOf((int)totalNum);
+            BigDecimal divide = number.divide(total,2,BigDecimal.ROUND_HALF_UP);
+            double bfb = divide.doubleValue();
+            int bfbInt = (int)(bfb*100);
+            return bfbInt+ "%";
+        }else{
+            return 0+ "%";
+        }
+    }
+
+    @RequestMapping(value = "/getOneMonthOrderPercent", method = RequestMethod.GET)
+    @ApiOperation(value = "鑾峰彇鏈湀閰嶉�佺櫨鍒嗘瘮")
+    public Result<String> getMonthPercent(){
+        Area area = getArea(securityUtil.getCurrUser().getId());
+        if (area == null) {
+            return ResultUtil.error("璇疯仈绯荤鐞嗗憳缁戝畾璇ヨ溅杈�");
+        }
+
+        String todayFormat = DateUtil.format(new Date(), "yyyy-MM-dd");
+        String monthFormat = DateUtil.format(DateUtil.beginOfMonth(new Date()),"yyyy-MM-dd");
+
+        QueryWrapper<OrderTask> wrapper2 = new QueryWrapper<OrderTask>();
+        wrapper2.eq("area_id", area.getId());
+        wrapper2.between("send_date",monthFormat,todayFormat);
+        int allOrders = iOrderTaskService.count(wrapper2);
+
+        wrapper2.eq("status",1);
+        int doOrders = iOrderTaskService.count(wrapper2);
+
+        return new ResultUtil<String>().setData(getPercent(doOrders,allOrders));
+    }
+
     @RequestMapping(value = "/getTodayOrderDetail", method = RequestMethod.GET)
     @ApiOperation(value = "鑾峰彇褰撳墠閰嶉�佸晢鎴疯鎯�")
     public Result<OrderTask> getTodayOrderDetail(String orderId, String sendTime) {
@@ -248,6 +376,53 @@
             wrapper2.eq("area_id", area.getId());
             wrapper2.eq("send_date", format);
             wrapper2.eq("status", 0);
+            //wrapper2.orderByAsc("seq");
+
+            PageVo page = new PageVo();
+            page.setSort("seq");
+            page.setOrder("asc");
+            page.setPageSize(1);
+            page.setPageNumber(0);
+            List<OrderTask> list = iOrderTaskService.page(PageUtil.initMpPage(page), wrapper2).getRecords();
+            //List<OrderTask> list = iOrderTaskService.list(wrapper2);
+            if (list.size() > 0) {
+                orderTask = list.get(0);
+            } 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());
+        orderTask.setOrderDetails(iOrderDetailService.list(wrapper3));
+
+        return new ResultUtil<OrderTask>().setData(orderTask);
+    }
+
+    @RequestMapping(value = "/getTodayOrderDetailByAreaSection", method = RequestMethod.GET)
+    @ApiOperation(value = "鑾峰彇褰撳墠閰嶉�佸晢鎴疯鎯�")
+    public Result<OrderTask> getTodayOrderDetail(String orderId, String sendTime,String areaSectionId) {
+        OrderTask orderTask = new OrderTask();
+        if (!StrUtil.isEmpty(orderId)) {
+            orderTask = iOrderTaskService.getById(orderId);
+            if (orderTask.getStatus() != 0) {
+                return ResultUtil.error("姝ゅ晢鎴峰凡閰嶉��");
+            }
+        } else {
+            Area area = getArea(securityUtil.getCurrUser().getId());
+            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);
+            if(!StrUtil.isEmpty(areaSectionId)){
+                wrapper2.eq("area_section_Id", areaSectionId);
+            }
             //wrapper2.orderByAsc("seq");
 
             PageVo page = new PageVo();
@@ -446,6 +621,16 @@
     @RequestMapping(value = "/insertOrders", method = RequestMethod.GET)
     @ApiOperation(value = "瑙f瀽璁㈠崟")
     public Result<Object> insertOrders(String sendTime) {
+        if(b){
+            return ResultUtil.error("姝e湪澶勭悊");
+        }
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        Date parse = null;
+        try {
+            parse = sdf.parse(sendTime);
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
         String formatDate = getFormatDate(sendTime);
         QueryWrapper<OrderTask> wrapper2 = new QueryWrapper<OrderTask>();
         wrapper2.eq("order_date", formatDate);
@@ -454,9 +639,11 @@
             return ResultUtil.error("宸插瓨鍦ㄤ粖鏃ユ暟鎹�");
         }else {
             QueryWrapper<OrderTaskOriginal> queryWrapper = new QueryWrapper<>();
-            queryWrapper.between("order_date",dateStringFormat(getDate(sendTime)),dateStringFormat2(getDate(sendTime)));
+            queryWrapper.between("order_date",DateUtil.beginOfDay(parse),DateUtil.endOfDay(parse));
             List<OrderTaskOriginal> originals = iOrderTaskOriginalService.list(queryWrapper);
-
+            if(originals.size()>0){
+                b=true;
+            }
             int sumNum = 0;
             for(OrderTaskOriginal original:originals){
                 try {
@@ -501,7 +688,7 @@
                     }
                     iOrderDetailService.saveBatch(detailList);
                 }catch (Exception e){
-                    System.out.println("鎶ラ敊浜�");
+                    System.out.println(original.getId()+"鎶ラ敊浜�");
                 }
             }
 
@@ -510,6 +697,7 @@
             orderLog.setType(0);
             iOrderLogService.save(orderLog);
             System.out.println("澶勭悊璁㈠崟缁撴潫");
+            b=false;
 
 
             return ResultUtil.success("瀵煎叆鎴愬姛");

--
Gitblit v1.9.1