| | |
| | | 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; |
| | |
| | | |
| | | 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; |
| | |
| | | return new ResultUtil<List<OrderTask>>().setData(list); |
| | | } |
| | | |
| | | @RequestMapping(value = "/getTodayOrderByHulue", method = RequestMethod.GET) |
| | | @ApiOperation(value = "获取今日配送任务详情列表,忽略某订单,客户端专用接口") |
| | | public Result<OrderListVo> getTodayOrderFromHulue(String orderId, String sendTime) { |
| | | //忽略订单 |
| | | if (!StrUtil.isEmpty(orderId)) { |
| | | OrderTask orderTask = iOrderTaskService.getById(orderId); |
| | | orderTask.setSeq(1000); |
| | | 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); |
| | | wrapper2.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) { |