wang-hao-jie
2021-12-27 022716b7d47c577d8d3bc30234937c41330f4bbf
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderTaskController.java
@@ -5,15 +5,12 @@
import cn.exrick.xboot.core.common.utils.SecurityUtil;
import cn.exrick.xboot.core.common.vo.PageVo;
import cn.exrick.xboot.core.common.vo.Result;
import cn.exrick.xboot.core.entity.Department;
import cn.exrick.xboot.core.entity.User;
import cn.exrick.xboot.core.service.DepartmentService;
import cn.exrick.xboot.core.service.UserService;
import cn.exrick.xboot.your.entity.Area;
import cn.exrick.xboot.your.entity.OrderDetail;
import cn.exrick.xboot.your.entity.OrderTask;
import cn.exrick.xboot.your.service.IAreaService;
import cn.exrick.xboot.your.service.ICustomerService;
import cn.exrick.xboot.your.service.IOrderDetailService;
import cn.exrick.xboot.your.service.IOrderTaskService;
import cn.exrick.xboot.your.entity.*;
import cn.exrick.xboot.your.service.*;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -58,6 +55,18 @@
    @Autowired
    private UserService userService;
    @Autowired
    private IAreaSectionService iAreaSectionService;
    @Autowired
    private ICarService iCarService;
    @Autowired
    private DepartmentService departmentService;
    @Autowired
    private IEventLogService iEventLogService;
    @RequestMapping(value = "/get/{id}", method = RequestMethod.GET)
    @ApiOperation(value = "通过id获取")
    public Result<OrderTask> get(@PathVariable String id) {
@@ -66,12 +75,27 @@
        return new ResultUtil<OrderTask>().setData(orderTask);
    }
    public Area getArea(String userId){
        QueryWrapper<Area> wrapper = new QueryWrapper<Area>();
        wrapper.eq("user_id",userId);
        Area area = iAreaService.getOne(wrapper);
        if(area==null){
            QueryWrapper<Car> carQueryWrapper = new QueryWrapper<Car>();
            carQueryWrapper.eq("user_id",userId);
            Car one = iCarService.getOne(carQueryWrapper);
            QueryWrapper<Area> wrapper3 = new QueryWrapper<Area>();
            wrapper3.eq("user_id",one.getFollowUserId());
            area = iAreaService.getOne(wrapper3);
            return area;
        }
        return area;
    }
    @RequestMapping(value = "/getByUserId", method = RequestMethod.GET)
    @ApiOperation(value = "获取今日任务统计信息")
    public Result<Object> getAll() {
        QueryWrapper<Area> wrapper = new QueryWrapper<Area>();
        wrapper.eq("user_id",securityUtil.getCurrUser().getId());
        Area area = iAreaService.getOne(wrapper);
        Area area = getArea(securityUtil.getCurrUser().getId());
        if(area==null){
            return ResultUtil.error("请联系管理员绑定片区配送员");
        }
@@ -80,22 +104,29 @@
        String format = DateUtil.format(new Date(), "yyyy-MM-dd");
        wrapper2.eq("area_id",area.getId());
        wrapper2.eq("send_date",format);
        int count = iOrderTaskService.count(wrapper2);
        List<OrderTask> list = iOrderTaskService.list(wrapper2);
        int sum = iOrderTaskService.sum(area.getId(),format);
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("count",count);
        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());
            list.clear();
        }
        return new ResultUtil<Object>().setData(map);
    }
    @RequestMapping(value = "/getTodayOrder", method = RequestMethod.GET)
    @ApiOperation(value = "获取今日任务详情")
    public Result<List<OrderTask>> getTodayOrder() {
        QueryWrapper<Area> wrapper = new QueryWrapper<Area>();
        wrapper.eq("user_id",securityUtil.getCurrUser().getId());
        Area area = iAreaService.getOne(wrapper);
        Area area = getArea(securityUtil.getCurrUser().getId());
        if(area==null){
            return ResultUtil.error("请联系管理员绑定片区配送员");
        }
@@ -119,9 +150,7 @@
                return ResultUtil.error("此商户已配送");
            }
        }else{
            QueryWrapper<Area> wrapper = new QueryWrapper<Area>();
            wrapper.eq("user_id",securityUtil.getCurrUser().getId());
            Area area = iAreaService.getOne(wrapper);
            Area area = getArea(securityUtil.getCurrUser().getId());
            if(area==null){
                return ResultUtil.error("请联系管理员绑定片区配送员");
            }
@@ -152,9 +181,7 @@
    @ApiOperation(value = "获取其它信息")
    public Result<Object> getTodayOtherInfo() {
        QueryWrapper<Area> wrapper = new QueryWrapper<Area>();
        wrapper.eq("user_id",securityUtil.getCurrUser().getId());
        Area area = iAreaService.getOne(wrapper);
        Area area = getArea(securityUtil.getCurrUser().getId());
        if(area==null){
            return ResultUtil.error("请联系管理员绑定片区配送员");
        }
@@ -202,6 +229,15 @@
            }
        }
        map.put("content",content);
        map.put("lng","");
        map.put("lat","");
        String deptId = securityUtil.getCurrUser().getDepartmentId();
        if(StrUtil.isNotEmpty(deptId)){
            Department department = departmentService.get(deptId);
            map.put("lng",department.getLng());
            map.put("lat",department.getLat());
        }
        return new ResultUtil<Object>().setData(map);
    }
@@ -216,7 +252,7 @@
    @RequestMapping(value = "/signFor", method = RequestMethod.POST)
    @ApiOperation(value = "签收")
    public Object signFor(String orderId,int status,String content,String customerReceiveId) {
    public Object signFor(String orderId,int status,String content,String customerReceiveId,int time) {
        if(status==1){
            if(StrUtil.isEmpty(customerReceiveId)){
                return ResultUtil.error("正常签收,接货人id必填");
@@ -225,6 +261,7 @@
        OrderTask orderTask = iOrderTaskService.getById(orderId);
        orderTask.setStatus(status);
        orderTask.setUserId(securityUtil.getCurrUser().getId());
        orderTask.setTime(time);
        if(StrUtil.isNotEmpty(customerReceiveId)){
            orderTask.setCustomerReceiveId(customerReceiveId);
        }
@@ -237,6 +274,13 @@
            }
        }
        iOrderTaskService.saveOrUpdate(orderTask);
        Car car = iCarService.getById(orderTask.getCarId());
        EventLog eventLog = new EventLog();
        eventLog.setCarNo(car.getCarNo());
        eventLog.setRefId(orderId);
        eventLog.setType(6);//6:配送完成
        iEventLogService.saveOrUpdate(eventLog);
        return ResultUtil.success("添加成功");
    }