| | |
| | | package cn.exrick.xboot.your.schedulings; |
| | | import cn.exrick.xboot.your.entity.*; |
| | | import cn.exrick.xboot.your.service.*; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | |
| | | @Autowired |
| | | private ICustomerReceiveService iCustomerReceiveService; |
| | | |
| | | @Scheduled(cron="0 30 23 * * ?")//每晚凌晨1点执行 |
| | | //@Scheduled(cron="0 22 11 * * ?")//每晚凌晨1点执行 |
| | | @Autowired |
| | | private IOrderLogService iOrderLogService; |
| | | |
| | | /** |
| | | * 每天15:59分处理 |
| | | * 在原始订单数据(t_order_task_original)获取订单日期为今天的原始订单,转换成订单数据存入订单任务数据表(t_order_task) |
| | | */ |
| | | |
| | | @Scheduled(cron="0 59 15 * * ?")//每晚凌晨1点执行 |
| | | //@Scheduled(cron="0 11 15 * * ?")//每晚凌晨1点执行 |
| | | public void execute(){ |
| | | System.out.println("开始处理订单"); |
| | | QueryWrapper<OrderTaskOriginal> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.between("create_time",dateStringFormat(new Date()),dateStringFormat2(new Date())); |
| | | queryWrapper.between("order_date",DateUtil.beginOfDay(new Date()),DateUtil.endOfDay(new Date())); |
| | | List<OrderTaskOriginal> list = iOrderTaskOriginalService.list(queryWrapper); |
| | | |
| | | int sumNum = 0; |
| | | for(OrderTaskOriginal original:list){ |
| | | OrderTask orderTask = new OrderTask(); |
| | | orderTask.setCode(original.getCode()); |
| | | Area area = getArea(original.getAreaName()); |
| | | orderTask.setAreaId(area.getId()); |
| | | orderTask.setCarId(area.getCarId()); |
| | | orderTask.setAreaSectionId(getAreaSection(orderTask.getAreaId(),original.getAreaSection())); |
| | | orderTask.setCustomerId(getCustomer(original.getCustomerCode(),original.getCustomerName(),original.getCustomerPhone(),original.getLinker(),orderTask.getAreaId(),orderTask.getAreaSectionId())); |
| | | orderTask.setEndDate(original.getPacketDate()); |
| | | orderTask.setSendDate(original.getSendDate()); |
| | | orderTask.setOrderDate(original.getOrderDate()); |
| | | if(original.getSeq()!=null){ |
| | | orderTask.setSeq(original.getSeq()); |
| | | }else{ |
| | | orderTask.setSeq(999); |
| | | try { |
| | | OrderTask orderTask = new OrderTask(); |
| | | orderTask.setCode(original.getCode()); |
| | | Area area = getArea(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<OrderDetailOriginal> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("order_id",original.getId()); |
| | | List<OrderDetailOriginal> list1 = iOrderDetailOriginalService.list(wrapper); |
| | | |
| | | List<OrderDetail> 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()+"定时转换报错"); |
| | | } |
| | | |
| | | orderTask.setNum(original.getNum()); |
| | | |
| | | iOrderTaskService.saveOrUpdate(orderTask); |
| | | |
| | | updateCustomerRecive(orderTask.getCustomerId(),original.getLinker(),original.getCustomerPhone()); |
| | | |
| | | QueryWrapper<OrderDetailOriginal> wrapper = new QueryWrapper<>(); |
| | | // wrapper.between("create_time",dateStringFormat(new Date()),dateStringFormat2(new Date())); |
| | | wrapper.eq("order_id",original.getId()); |
| | | List<OrderDetailOriginal> list1 = iOrderDetailOriginalService.list(wrapper); |
| | | for(OrderDetailOriginal o:list1){ |
| | | OrderDetail orderDetail = new OrderDetail(); |
| | | orderDetail.setNum(o.getNum()); |
| | | orderDetail.setOrderId(orderTask.getId()); |
| | | orderDetail.setProduct(o.getProductName()); |
| | | iOrderDetailService.saveOrUpdate(orderDetail); |
| | | } |
| | | |
| | | } |
| | | |
| | | OrderLog orderLog = new OrderLog(); |
| | | orderLog.setNum(sumNum); |
| | | orderLog.setType(0); |
| | | iOrderLogService.save(orderLog); |
| | | System.out.println("处理订单结束"); |
| | | |
| | | } |
| | |
| | | QueryWrapper<CustomerReceive> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("customer_id",customerId); |
| | | wrapper.eq("name",linker); |
| | | CustomerReceive one = iCustomerReceiveService.getOne(wrapper); |
| | | if(one==null){ |
| | | one = new CustomerReceive(); |
| | | List<CustomerReceive> list = iCustomerReceiveService.list(wrapper); |
| | | if(list.size()==0){ |
| | | CustomerReceive one = new CustomerReceive(); |
| | | one.setCustomerId(customerId); |
| | | one.setFstatus(0); |
| | | one.setStatus(1); |
| | |
| | | } |
| | | } |
| | | |
| | | public String getCustomer(String customerCode,String customerName,String customerPhone,String linker,String areaId,String areaSectionId){ |
| | | public Customer getCustomer(String customerCode,String customerName,String customerPhone,String linker,String areaId,String areaSectionId){ |
| | | QueryWrapper<Customer> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("licence",customerCode); |
| | | Customer one = iCustomerService.getOne(queryWrapper); |
| | |
| | | customer.setAreaSectionId(areaSectionId); |
| | | customer.setKstatus(1); |
| | | iCustomerService.saveOrUpdate(customer); |
| | | return customer.getId(); |
| | | return customer; |
| | | } |
| | | one.setAreaId(areaId); |
| | | one.setAreaSectionId(areaSectionId); |
| | | iCustomerService.saveOrUpdate(one); |
| | | return one.getId(); |
| | | return one; |
| | | } |
| | | |
| | | public Area getArea(String name){ |