Lo que te hace falta es que hagas un buen curso de SQL, así sabrías como hacerlo.
Todo esto se resume a tener la tabla ordenada, y con los campos necesarios que te indiquen que o cual registro no cumple con una condición.
No me dejas en claro los campos, no se como está alineada la data, por ende no se como sacar los datos.
Tu pretendes que yo te de exactamente lo que necesitas y eso yo no lo hago, yo guio a las personas para poder cumplir con su objetivo, pero no hago el trabajo por ellos.
Para obtener lo que necesitas debes tener en tu tabla, un campo con el estado de la orden, así sabes si esta está entregada, en curso de entregarse, o cancelada, u otro.
Necesitas un campo fecha, por el cual sabrás en que fecha fue asignada, y luego de 30 días darla como finiquitada, cancelada o lo que corresponda.
La orden ha de tener especificada (la mejor manera sería en otra tabla) la cantidad de productos que esta posee, entonces se puede contabilizar mediante un select.
Si tu quieres que te diga si hay faltante de un producto y por eso aún no se entrega, haz de tener una tabla de productos, en la cual cotejas el producto que se pide en la orden y lo que hay en existencias, si alcanza o queda faltante.
Todo se basa en tu Base de Datos, las tablas ordenadas, y las tablas a utilizar para poder hacer un select que te muestre todo.
Si gustas, me mandas la relación de tablas (de otra forma estoy perdido) para ver como se unen las tablas, es decir, también tienes que decirme este campo de esta tabla se une con este campo de esta otra tabla.