| | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.IOException; |
| | | import java.net.URLEncoder; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * @author whj |
| | |
| | | @Autowired |
| | | private IOrderLogService iOrderLogService; |
| | | |
| | | @Autowired |
| | | private IOrderTaskOriginalService iOrderTaskOriginalService; |
| | | |
| | | @Autowired |
| | | private IOrderDetailOriginalService iOrderDetailOriginalService; |
| | | |
| | | |
| | | @Autowired |
| | | private ICustomerReceiveService iCustomerReceiveService; |
| | | |
| | | |
| | | @RequestMapping(value = "/get/{id}", method = RequestMethod.GET) |
| | | @ApiOperation(value = "通过id获取") |
| | | public Result<OrderTask> get(@PathVariable String id) { |
| | | |
| | | OrderTask orderTask = iOrderTaskService.getById(id); |
| | | return new ResultUtil<OrderTask>().setData(orderTask); |
| | | } |
| | | |
| | | @RequestMapping(value = "/getByPage2", method = RequestMethod.GET) |
| | | @ApiOperation(value = "分页获取") |
| | | public Result<IPage<OrderTask>> getByPage2(PageVo page,String sendDate,String userName,String customerName,Integer status) { |
| | | QueryWrapper<OrderTask> wrapper = new QueryWrapper<>(); |
| | | if(StrUtil.isNotEmpty(sendDate)){ |
| | | 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); |
| | | } |
| | | |
| | | // public Area getArea(String userId){ |
| | |
| | | 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(); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | return ResultUtil.success("批量通过id删除数据成功"); |
| | | } |
| | | |
| | | @RequestMapping(value = "/insertOrders", method = RequestMethod.GET) |
| | | @ApiOperation(value = "解析订单") |
| | | public Result<Object> insertOrders(String sendTime) { |
| | | String formatDate = getFormatDate(sendTime); |
| | | QueryWrapper<OrderTask> wrapper2 = new QueryWrapper<OrderTask>(); |
| | | wrapper2.eq("order_date", formatDate); |
| | | List<OrderTask> list = iOrderTaskService.list(wrapper2); |
| | | if(list.size() > 0){ |
| | | return ResultUtil.error("已存在今日数据"); |
| | | }else { |
| | | QueryWrapper<OrderTaskOriginal> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.between("order_date",dateStringFormat(getDate(sendTime)),dateStringFormat2(getDate(sendTime))); |
| | | List<OrderTaskOriginal> originals = iOrderTaskOriginalService.list(queryWrapper); |
| | | |
| | | 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<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("报错了"); |
| | | } |
| | | } |
| | | |
| | | OrderLog orderLog = new OrderLog(); |
| | | orderLog.setNum(sumNum); |
| | | orderLog.setType(0); |
| | | iOrderLogService.save(orderLog); |
| | | System.out.println("处理订单结束"); |
| | | |
| | | |
| | | return ResultUtil.success("导入成功"); |
| | | } |
| | | |
| | | |
| | | } |
| | | public void updateCustomerRecive(String customerId,String linker,String phone){ |
| | | QueryWrapper<CustomerReceive> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("customer_id",customerId); |
| | | wrapper.eq("name",linker); |
| | | List<CustomerReceive> 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<Customer> 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<Area> 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<AreaSection> 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 { |