Comments (3)
Por ahora voy a ver el tema del prestamo de una herramienta. Para ello una estrategia que tengo pensada es ver el flujo solamente por sql, dejandolo funcional por ese lado, para despues utilizarlo mediante php
from pasys-api.
Order
Una pequeña referencia mental para tener en cuenta a la hora de construir el sistema de pedidos y devoluciones
Pedido
Para hacer un pedido se necesita
- Trabajador
- Rut
- Nombre
- Pañolero
- Nombre
- Herramienta
- Nombre
- Cantidad a pedir
- No puede ser mayor al
stock_actual
- No puede ser mayor al
if ( $this->tool->overloadActualStock($amount) ) {
throw new Exception('La cantidad pedida supera el stock actual');
}
- Fecha de Pedido
NOW()
o undate('Y-m-d HH:mm:ss')
- Deadline de devolución
- Por defecto debería ser de 1 día de margen
- Estado: Pedido
Se descuenta la cantidad al
stock_actual
de la herramienta pedida
$this->tool->discountActualStock($amount);
// $this->actualStock -= $amount;
Por ende se necesitan 2 commands:
Add Pedido
-- Algunos datos son por defecto como la fecha del pedido o se dejan vacios, como la fecha de devolucion real
INSERT INTO order_record (worker_id, panolero_id, tool_id, amount. deadline) VALUES
(:worker, :panolero, :tool, :amount, :deadline)
Discount Stock Actual
-- La decrementación se hace por PHP
UPDATE tool SET stock_actual = :discountedStock WHERE id = :id
Devolucion
Para hacer una devolución se necesita
- Actualizar:
- Estado: Devuelto
- Siempre y cuando se haya devuelto la misma cantidad pedida de la herramienta
- Estado: Devuelto
// Metodo de Entidad OrderRecord
if ( $amount < $this->amount) {
throw new Exception('Faltan herramientas por entregar');
}
- Agregar:
- La fecha de devolución real
- Si la fecha de devolución real es mayor que la deadline, significa que hay un atraso
- La fecha de devolución real
if ( $deliveryDate > $this->deadline ) {
$this->makeLate();
}
Se le devuelve la cantidad entregada al
stock_actual
de la herramienta
$this->tool->addActualStock($amount);
// $this->actualStock += $amount;
Por ende se necesitan x commands:
Update Pedido Entregado
UPDATE order_record SET delivery_date = NOW() state_id = 2 WHERE id = :id
Update Pedido Atrasado
UPDATE order_record SET state_id = 3 WHERE id = :id
Increment Stock Actual
-- El incremento se hace por PHP
UPDATE tool SET stock_actual = :addedStock WHERE id = :id
Incognitas
- ¿Atraso automático?
- ¿Si no? ¿Se procesa todo al final del turno? ¿Como el cierre de cajas de Gamovi?
- ¿Se separa el pedido de la devolucion en 2 tablas en la bd?
from pasys-api.
Tamos Readu
from pasys-api.
Related Issues (20)
- JAHJAHAJHAJH HOT 1
- Formulario Update Usuario: Contraseña Hash Visible HOT 1
- Formularios Mutantes HOT 1
- Números negativos HOT 1
- Cambiar el color del pedido dependiendo del estado HOT 1
- Poner botón para procesar atrasos HOT 1
- No todos los navbar son iguales XD HOT 1
- Falta Blindar el Login HOT 1
- Blindar Rut a la hora de crear un usuario HOT 1
- Mostrar cambio contraseña cuando es pañolero
- El Mantedor de Herramienta quedó a medias HOT 1
- Cargar ubicacion de herramienta en la notificaion HOT 1
- El Matías no puede hacer nada pq no funciona su wea HOT 1
- Falta un boton HOT 1
- Faltan Pantallas de error 404 y exepciones en general HOT 1
- Crear Readme para la instalacion del entorno HOT 1
- En los Usuarios se cambia la contraseña por el rut HOT 1
- Triggers HOT 1
- Vista usuario: Cambiar el 1 por el nombre del estado HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pasys-api.