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 | 205 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 201 insertions(+), 4 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 8c5b493..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; @@ -83,6 +86,8 @@ @Autowired private ICustomerReceiveService iCustomerReceiveService; + boolean b = false; + @RequestMapping(value = "/get/{id}", method = RequestMethod.GET) @ApiOperation(value = "閫氳繃id鑾峰彇") @@ -100,6 +105,16 @@ wrapper.eq("order_date",sendDate); } IPage<OrderTask> data = iOrderTaskService.page(PageUtil.initMpPage(page),wrapper); + List<OrderTask> records = data.getRecords(); + for (OrderTask record : records) { + if(record.getAreaSectionId() != null){ + AreaSection byId = iAreaSectionService.getById(record.getAreaSectionId()); + if(byId != null){ + record.setAreaSectionName(byId.getName()); + } + } + } + data.setRecords(records); return new ResultUtil<IPage<OrderTask>>().setData(data); } @@ -194,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) { @@ -218,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) { @@ -238,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(); @@ -436,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); @@ -444,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 { @@ -491,7 +688,7 @@ } iOrderDetailService.saveBatch(detailList); }catch (Exception e){ - System.out.println("鎶ラ敊浜�"); + System.out.println(original.getId()+"鎶ラ敊浜�"); } } @@ -500,6 +697,7 @@ orderLog.setType(0); iOrderLogService.save(orderLog); System.out.println("澶勭悊璁㈠崟缁撴潫"); + b=false; return ResultUtil.success("瀵煎叆鎴愬姛"); @@ -507,7 +705,6 @@ } - public void updateCustomerRecive(String customerId,String linker,String phone){ QueryWrapper<CustomerReceive> wrapper = new QueryWrapper<>(); wrapper.eq("customer_id",customerId); -- Gitblit v1.9.1