Impacted versions: 10.0

Steps to reproduce:
1. Create pos order with two products.
2. One of the products, must be type= Stockable Product and quantity=0.
3. Pay order.
4. check order --> extra info --> picking
5. picking state = Waiting Availability  

Current behavior:
picking State = Waiting Availability

Expected behavior:
picking State  = Done
[As in v9.0](https://youtu.be/X_R_jHZdYb8)

Video/Screenshot link (optional):
https://youtu.be/eWCe6juEcvw

_name = "pos.pack.operation.lot"
    _description = "Specify product lot/serial number in pos order line"
    pos_order_line_id = fields.Many2one('pos.order.line')
    order_id = fields.Many2one('pos.order', related="pos_order_line_id.order_id")
    lot_name = fields.Char('Lot Name')
    product_id = fields.Many2one('product.product', related='pos_order_line_id.product_id')
class ReportSaleDetails(models.AbstractModel):
    _name = 'report.point_of_sale.report_saledetails'
    @api.model
    def get_sale_details(self, date_start=False, date_stop=False, configs=False):
        """ Serialise the orders of the day information
        params: date_start, date_stop string representing the datetime of order
        """
        if not configs:
            configs = self.env['pos.config'].search([])
        user_tz = pytz.timezone(self.env.context.get('tz') or self.env.user.tz or 'UTC')
        today = user_tz.localize(fields.Datetime.from_string(fields.Date.context_today(self)))
        today = today.astimezone(pytz.timezone('UTC'))
        if date_start:
            date_start = fields.Datetime.from_string(date_start)
        else:
            
            date_start = today
        if date_stop:
            
            date_stop = fields.Datetime.from_string(date_stop)
        else:
            
            date_stop = today + timedelta(days=1, seconds=-1)