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.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.*; 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 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.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; import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; /** * @author whj */ @Slf4j @RestController @Api(tags = "订单接口") @RequestMapping("/xboot/orderTask") @Transactional public class OrderTaskController { @Autowired private IOrderTaskService iOrderTaskService; @Autowired private IAreaService iAreaService; @Autowired private ICustomerService iCustomerService; @Autowired private IOrderDetailService iOrderDetailService; @Autowired private SecurityUtil securityUtil; @Autowired private UserService userService; @Autowired private IAreaSectionService iAreaSectionService; @Autowired private ICarService iCarService; @Autowired private DepartmentService departmentService; @Autowired private IEventLogService iEventLogService; @Autowired private IOrderLogService iOrderLogService; @Autowired private IOrderTaskOriginalService iOrderTaskOriginalService; @Autowired private IOrderDetailOriginalService iOrderDetailOriginalService; @Autowired private ICustomerReceiveService iCustomerReceiveService; boolean b = false; @RequestMapping(value = "/get/{id}", method = RequestMethod.GET) @ApiOperation(value = "通过id获取") public Result get(@PathVariable String id) { OrderTask orderTask = iOrderTaskService.getById(id); return new ResultUtil().setData(orderTask); } @RequestMapping(value = "/getByPage2", method = RequestMethod.GET) @ApiOperation(value = "分页获取") public Result> getByPage2(PageVo page,String sendDate,String userName,String customerName,Integer status) { QueryWrapper wrapper = new QueryWrapper<>(); if(StrUtil.isNotEmpty(sendDate)){ wrapper.eq("order_date",sendDate); } IPage data = iOrderTaskService.page(PageUtil.initMpPage(page),wrapper); List 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>().setData(data); } // public Area getArea(String userId){ // QueryWrapper wrapper = new QueryWrapper(); // wrapper.eq("user_id",userId); // Area area = iAreaService.getOne(wrapper); // if(area==null){ // QueryWrapper carQueryWrapper = new QueryWrapper(); // carQueryWrapper.eq("user_id",userId); // Car one = iCarService.getOne(carQueryWrapper); // if(one==null){ // return null; // } // if(StrUtil.isEmpty(one.getFollowUserId())){ // return null; // } // // QueryWrapper wrapper3 = new QueryWrapper(); // wrapper3.eq("user_id",one.getFollowUserId()); // area = iAreaService.getOne(wrapper3); // return area; // } // return area; // } private String getFormatDate(String sendTime) { if (StrUtil.isNotEmpty(sendTime)) { return sendTime; } else { return DateUtil.format(new Date(), "yyyy-MM-dd"); } } private Date getDate(String sendTime){ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); if (StrUtil.isNotEmpty(sendTime)) { return new Date(); } else { try { return format.parse(sendTime); } catch (ParseException e) { e.printStackTrace(); return new Date(); } } } public Area getArea(String userId) { QueryWrapper carQueryWrapper = new QueryWrapper(); carQueryWrapper.eq("user_id", userId).or().eq("follow_user_id", userId); Car one = iCarService.getOne(carQueryWrapper); if (one == null) { return null; } else { QueryWrapper wrapper = new QueryWrapper(); wrapper.eq("car_id", one.getId()); Area area = iAreaService.getOne(wrapper); return area; } } @RequestMapping(value = "/getByUserId", method = RequestMethod.GET) @ApiOperation(value = "获取今日任务统计信息") public Result getAll(String sendTime) { Area area = getArea(securityUtil.getCurrUser().getId()); if (area == null) { return ResultUtil.error("请联系管理员绑定该车辆"); } QueryWrapper wrapper2 = new QueryWrapper(); String format = getFormatDate(sendTime); wrapper2.eq("area_id", area.getId()); wrapper2.eq("send_date", format); List list = iOrderTaskService.list(wrapper2); int sum = iOrderTaskService.sum(area.getId(), format); Map map = new HashMap(); map.put("count", list.size()); map.put("sum", sum); String name = area.getName(); Map> collect = list.stream().collect(Collectors.groupingBy(OrderTask::getAreaSectionId)); for (Map.Entry> stringListEntry : collect.entrySet()) { String key = stringListEntry.getKey(); List value = stringListEntry.getValue(); if(value.size()>0){ AreaSection a = iAreaSectionService.getById(key); name+=a.getName(); } } if(name.equals(area.getName())){ map.put("name", ""); }else { map.put("name", name); } return new ResultUtil().setData(map); } @RequestMapping(value = "/getTodayCount", method = RequestMethod.GET) @ApiOperation(value = "获取今日任务统计信息") public Result getAllNew(String sendTime) { Area area = getArea(securityUtil.getCurrUser().getId()); if (area == null) { return ResultUtil.error("请联系管理员绑定该车辆"); } QueryWrapper wrapper2 = new QueryWrapper(); String format = getFormatDate(sendTime); wrapper2.eq("area_id", area.getId()); wrapper2.eq("send_date", format); List list = iOrderTaskService.list(wrapper2); int sum = iOrderTaskService.sum(area.getId(), format); Map map = new HashMap(); map.put("count", list.size()); map.put("sum", sum); map.put("name", ""); map.put("sectons", null); if (list.size() > 0) { List temp = new ArrayList<>(); List tempIds = new ArrayList<>(); List areaSections = new ArrayList<>(); for(int i=0;i().setData(map); } /* @RequestMapping(value = "/getTodayOrder", method = RequestMethod.GET) @ApiOperation(value = "获取今日配送任务详情列表") public Result> getTodayOrder(String sendTime) { Area area = getArea(securityUtil.getCurrUser().getId()); if (area == null) { return ResultUtil.error("请联系管理员绑定该车辆"); } QueryWrapper wrapper2 = new QueryWrapper(); 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 list = iOrderTaskService.list2(wrapper2); wrapper2.eq("area_id", area.getId()); wrapper2.eq("send_date", format); wrapper2.orderByAsc("seq").orderByAsc("status"); List list = iOrderTaskService.list(wrapper2); for (OrderTask obj : list) { obj.setCode(obj.getLinker()); } return new ResultUtil>().setData(list); }*/ @RequestMapping(value = "/getTodayOrder", method = RequestMethod.GET) @ApiOperation(value = "获取今日配送任务详情列表") public Result> getTodayOrder(String sendTime) { //获取订单列表 Area area = getArea(securityUtil.getCurrUser().getId()); if (area == null) { return ResultUtil.error("请联系管理员绑定该车辆"); } QueryWrapper wrapper2 = new QueryWrapper(); 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 list = iOrderTaskService.list2(wrapper2); wrapper2.eq("area_id", area.getId()); wrapper2.eq("send_date", format); wrapper2.orderByAsc("area_section_id").orderByAsc("seq").orderByAsc("status"); List list = iOrderTaskService.list(wrapper2); return new ResultUtil>().setData(list); } @RequestMapping(value = "/getTodayOrderByHulue", method = RequestMethod.GET) @ApiOperation(value = "获取今日配送任务详情列表,忽略某订单,客户端专用接口") public Result 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 wrapper2 = new QueryWrapper(); 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 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 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().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 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 wrapper2 = new QueryWrapper(); 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().setData(getPercent(doOrders,allOrders)); } @RequestMapping(value = "/getTodayOrderDetail", method = RequestMethod.GET) @ApiOperation(value = "获取当前配送商户详情") public Result getTodayOrderDetail(String orderId, String sendTime) { 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 wrapper2 = new QueryWrapper(); String format = getFormatDate(sendTime); 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 list = iOrderTaskService.page(PageUtil.initMpPage(page), wrapper2).getRecords(); //List list = iOrderTaskService.list(wrapper2); if (list.size() > 0) { orderTask = list.get(0); } else { return new ResultUtil().setData(null); } } orderTask.setCustomer(iCustomerService.getById(orderTask.getCustomerId())); QueryWrapper wrapper3 = new QueryWrapper(); wrapper3.eq("order_id", orderTask.getId()); orderTask.setOrderDetails(iOrderDetailService.list(wrapper3)); return new ResultUtil().setData(orderTask); } @RequestMapping(value = "/getTodayOrderDetailByAreaSection", method = RequestMethod.GET) @ApiOperation(value = "获取当前配送商户详情") public Result 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 wrapper2 = new QueryWrapper(); 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(); page.setSort("seq"); page.setOrder("asc"); page.setPageSize(1); page.setPageNumber(0); List list = iOrderTaskService.page(PageUtil.initMpPage(page), wrapper2).getRecords(); //List list = iOrderTaskService.list(wrapper2); if (list.size() > 0) { orderTask = list.get(0); } else { return new ResultUtil().setData(null); } } orderTask.setCustomer(iCustomerService.getById(orderTask.getCustomerId())); QueryWrapper wrapper3 = new QueryWrapper(); wrapper3.eq("order_id", orderTask.getId()); orderTask.setOrderDetails(iOrderDetailService.list(wrapper3)); return new ResultUtil().setData(orderTask); } @RequestMapping(value = "/getTodayOtherInfo", method = RequestMethod.GET) @ApiOperation(value = "获取其它信息") public Result getTodayOtherInfo(String sendTime) { Area area = getArea(securityUtil.getCurrUser().getId()); if (area == null) { return ResultUtil.error("请联系管理员绑定该车辆"); } QueryWrapper wrapper2 = new QueryWrapper(); String format = getFormatDate(sendTime); wrapper2.eq("area_id", area.getId()); wrapper2.eq("send_date", format); wrapper2.ne("status", 0); wrapper2.orderByAsc("seq"); int count = iOrderTaskService.count(wrapper2); QueryWrapper wrapper4 = new QueryWrapper(); wrapper4.eq("area_id", area.getId()); wrapper4.eq("send_date", format); int count2 = iOrderTaskService.count(wrapper4); Map map = new HashMap<>(); map.put("num", count + "/" + count2); QueryWrapper wrapper5 = new QueryWrapper(); wrapper5.ne("status", 0); wrapper5.eq("send_date", format); PageVo page = new PageVo(); page.setSort("updateTime"); page.setOrder("desc"); page.setPageSize(1); page.setPageNumber(0); IPage data = iOrderTaskService.page(PageUtil.initMpPage(page), wrapper5); String content = ""; if (data.getRecords().size() > 0) { String userId = data.getRecords().get(0).getUserId(); User user = userService.get(userId); QueryWrapper wrapper6 = new QueryWrapper(); 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 + "单"; } } 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().setData(map); } @RequestMapping(value = "/addImg", method = RequestMethod.POST) @ApiOperation(value = "上传门头照") public Object saveOrUpdate(String orderId, String imgUrl) { OrderTask orderTask = iOrderTaskService.getById(orderId); orderTask.setImg(imgUrl); iOrderTaskService.saveOrUpdate(orderTask); return ResultUtil.success("添加成功"); } @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)) { return ResultUtil.error("正常签收,接货人id必填"); } } if (StrUtil.isEmpty(carId)) { return ResultUtil.error("车辆id不能为空"); } OrderTask orderTask = iOrderTaskService.getById(orderId); orderTask.setStatus(status); orderTask.setUserId(securityUtil.getCurrUser().getId()); orderTask.setTime(time); orderTask.setCarId(carId); if (StrUtil.isNotEmpty(customerReceiveId)) { orderTask.setCustomerReceiveId(customerReceiveId); } if (!StrUtil.isEmpty(content)) { orderTask.setRemarks(content); } else { if (status == 2) { return ResultUtil.error("请填写异常签收原因"); } } 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); saveLog(); return ResultUtil.success("添加成功"); } @RequestMapping(value = "/signForX", method = RequestMethod.POST) @ApiOperation(value = "签收") public Object signForX(String orderId, int status, String content, String customerReceiveId, int time, String carId,String img) { if (status == 1) { if (StrUtil.isEmpty(customerReceiveId)) { return ResultUtil.error("正常签收,接货人id必填"); } } if (StrUtil.isEmpty(carId)) { return ResultUtil.error("车辆id不能为空"); } OrderTask orderTask = iOrderTaskService.getById(orderId); orderTask.setStatus(status); orderTask.setUserId(securityUtil.getCurrUser().getId()); orderTask.setTime(time); orderTask.setCarId(carId); if (StrUtil.isNotEmpty(customerReceiveId)) { orderTask.setCustomerReceiveId(customerReceiveId); } if(StrUtil.isNotEmpty(img)){ if(StrUtil.isNotEmpty(orderTask.getImg())){ String imgO = orderTask.getImg(); orderTask.setImg(imgO+","+img); }else{ orderTask.setImg(img); } } if (!StrUtil.isEmpty(content)) { orderTask.setRemarks(content); } else { if (status == 2) { return ResultUtil.error("请填写异常签收原因"); } } 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); saveLog(); return ResultUtil.success("添加成功"); } private void saveLog() { QueryWrapper wp = new QueryWrapper<>(); wp.eq("type", 2); OrderLog one = iOrderLogService.getOne(wp); if (one != null) { one.setNum(one.getNum() + 1); } else { one = new OrderLog(); one.setNum(1); one.setType(2); } iOrderLogService.saveOrUpdate(one); } @RequestMapping(value = "/getTaKan", method = RequestMethod.GET) @ApiOperation(value = "获取踏勘商户") public Result> getTaKan() { Area area = getArea(securityUtil.getCurrUser().getId()); if (area == null) { return ResultUtil.error("请联系管理员绑定该车辆"); } QueryWrapper wrapper2 = new QueryWrapper(); wrapper2.eq("area_id", area.getId()); wrapper2.eq("kstatus", 0); List list = iCustomerService.list(wrapper2); return new ResultUtil>().setData(list); } @RequestMapping(value = "/getByPage", method = RequestMethod.GET) @ApiOperation(value = "分页获取") public Result> getByPage(PageVo page) { IPage data = iOrderTaskService.page2(PageUtil.initMpPage(page)); return new ResultUtil>().setData(data); } @RequestMapping(value = "/insertOrUpdate", method = RequestMethod.POST) @ApiOperation(value = "编辑或更新数据") public Result saveOrUpdate(OrderTask orderTask) { if (iOrderTaskService.saveOrUpdate(orderTask)) { return new ResultUtil().setData(orderTask); } return new ResultUtil().setErrorMsg("操作失败"); } @RequestMapping(value = "/delByIds", method = RequestMethod.POST) @ApiOperation(value = "批量通过id删除") public Result delAllByIds(@RequestParam String[] ids) { for (String id : ids) { iOrderTaskService.removeById(id); } return ResultUtil.success("批量通过id删除数据成功"); } @RequestMapping(value = "/insertOrders", method = RequestMethod.GET) @ApiOperation(value = "解析订单") public Result insertOrders(String sendTime) { if(b){ return ResultUtil.error("正在处理"); } 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 wrapper2 = new QueryWrapper(); wrapper2.eq("order_date", formatDate); List list = iOrderTaskService.list(wrapper2); if(list.size() > 0){ return ResultUtil.error("已存在今日数据"); }else { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.between("order_date",DateUtil.beginOfDay(parse),DateUtil.endOfDay(parse)); List originals = iOrderTaskOriginalService.list(queryWrapper); if(originals.size()>0){ b=true; } int sumNum = 0; for(OrderTaskOriginal original:originals){ try { OrderTask orderTask = new OrderTask(); orderTask.setCode(original.getCode()); Area area = getArea2(original.getAreaName()); orderTask.setAreaId(area.getId()); orderTask.setCarId(area.getCarId()); orderTask.setAreaSectionId(getAreaSection(orderTask.getAreaId(),original.getAreaSection())); Customer customer = getCustomer(original.getCustomerCode(), original.getCustomerName(), original.getCustomerPhone(), original.getLinker(), orderTask.getAreaId(), orderTask.getAreaSectionId()); orderTask.setCustomerId(customer.getId()); orderTask.setCustomerName(customer.getName()); orderTask.setLinker(customer.getLinker()); orderTask.setEndDate(original.getPacketDate()); //orderTask.setSendDate(original.getSendDate()); orderTask.setSendDate(DateUtil.offsetDay(original.getOrderDate(),1)); orderTask.setOrderDate(original.getOrderDate()); if(original.getSeq()!=null){ orderTask.setSeq(original.getSeq()); }else{ orderTask.setSeq(999); } orderTask.setNum(original.getNum()); sumNum+=original.getNum(); iOrderTaskService.saveOrUpdate(orderTask); updateCustomerRecive(orderTask.getCustomerId(),original.getLinker(),original.getCustomerPhone()); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id",original.getId()); List list1 = iOrderDetailOriginalService.list(wrapper); List detailList = new ArrayList<>(); for(OrderDetailOriginal o:list1){ OrderDetail orderDetail = new OrderDetail(); orderDetail.setNum(o.getNum()); orderDetail.setOrderId(orderTask.getId()); orderDetail.setProduct(o.getProductName()); detailList.add(orderDetail); } iOrderDetailService.saveBatch(detailList); }catch (Exception e){ System.out.println(original.getId()+"报错了"); } } OrderLog orderLog = new OrderLog(); orderLog.setNum(sumNum); orderLog.setType(0); iOrderLogService.save(orderLog); System.out.println("处理订单结束"); b=false; return ResultUtil.success("导入成功"); } } public void updateCustomerRecive(String customerId,String linker,String phone){ QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("customer_id",customerId); wrapper.eq("name",linker); List list = iCustomerReceiveService.list(wrapper); if(list.size()==0){ CustomerReceive one = new CustomerReceive(); one.setCustomerId(customerId); one.setFstatus(0); one.setStatus(1); one.setName(linker); one.setPhone(phone); iCustomerReceiveService.saveOrUpdate(one); } } public Customer getCustomer(String customerCode,String customerName,String customerPhone,String linker,String areaId,String areaSectionId){ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("licence",customerCode); Customer one = iCustomerService.getOne(queryWrapper); if(one==null){ Customer customer = new Customer(); customer.setLicence(customerCode); customer.setName(customerName); customer.setPhone(customerPhone); customer.setLinker(linker); customer.setAreaId(areaId); customer.setAreaSectionId(areaSectionId); customer.setKstatus(1); iCustomerService.saveOrUpdate(customer); return customer; } one.setAreaId(areaId); one.setAreaSectionId(areaSectionId); iCustomerService.saveOrUpdate(one); return one; } public Area getArea2(String name){ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("name",name); Area one = iAreaService.getOne(queryWrapper); if(one==null){ Area area = new Area(); area.setName(name); iAreaService.saveOrUpdate(area); return area; } return one; } public String getAreaSection(String areaId,String name){ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("name",name); queryWrapper.eq("area_id",areaId); AreaSection one = iAreaSectionService.getOne(queryWrapper); if(one==null){ AreaSection area = new AreaSection(); area.setName(name); area.setAreaId(areaId); iAreaSectionService.saveOrUpdate(area); return area.getId(); } return one.getId(); } public String dateStringFormat(Date strDate) { if (strDate == null) return ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); return sdf.format(strDate)+" 00:00:00"; } public String dateStringFormat2(Date strDate) { if (strDate == null) return ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); return sdf.format(strDate)+" 23:59:59"; } @GetMapping("/outExcel")// 导出的不是中间表 @ApiOperation(value = "导出签收统计信息表", notes = "导出签收统计信息表") public void export1(OrderStatusCount orderStatusCount, HttpServletResponse response) throws IOException { List 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> getAll(OrderStatusCount orderStatusCount) { List data = this.iOrderTaskService.countStatus(orderStatusCount); ; return new ResultUtil>().setData(data); } @Autowired private ISignCountService iSignCountService; @RequestMapping(value = "/getStatusCounts", method = RequestMethod.GET) @ApiOperation(value = "获取今日任务统计信息") public Result getStatusCounts() { System.err.println("执行存储数据定时任务时间: " + LocalDateTime.now()); OrderStatusCount orderStatusCount = new OrderStatusCount(); List StatusCounts = new ArrayList<>(); List temps = iOrderTaskService.countStatus(orderStatusCount); for (OrderStatusCount statusCount : temps) { if("丰南02车".equals(statusCount.getLine())){ StatusCounts.add(statusCount); } } if (StatusCounts != null && StatusCounts.size() != 0) { List 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("定时存储成功"); } } } return null; } 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; } }