diff --git a/inventory-backend/app/models/transaction.py b/inventory-backend/app/models/transaction.py index 3ac662f..5e634eb 100644 --- a/inventory-backend/app/models/transaction.py +++ b/inventory-backend/app/models/transaction.py @@ -90,3 +90,41 @@ class TransRepair(db.Model): 'created_at': self.created_at.strftime('%Y-%m-%d %H:%M:%S') if self.created_at else None, 'updated_at': self.updated_at.strftime('%Y-%m-%d %H:%M:%S') if self.updated_at else None, } + +class TransScrap(db.Model): + __tablename__ = 'trans_scrap' + + id = db.Column(db.Integer, primary_key=True) + sku = db.Column(db.String(100)) + source_table = db.Column(db.String(50)) + stock_id = db.Column(db.Integer) + + quantity = db.Column(db.Numeric(19, 4)) + reason = db.Column(db.Text) + operator_name = db.Column(db.String(100)) + approver_name = db.Column(db.String(100)) + approval_status = db.Column(db.String(20), default='pending') + cost_at_scrap = db.Column(db.Numeric(10, 2)) + total_loss = db.Column(db.Numeric(10, 2)) + operation_time = db.Column(db.DateTime, default=datetime.now) + + created_at = db.Column(db.DateTime, default=datetime.now) + updated_at = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now) + + def to_dict(self): + return { + 'id': self.id, + 'sku': self.sku, + 'source_table': self.source_table, + 'stock_id': self.stock_id, + 'quantity': float(self.quantity) if self.quantity is not None else None, + 'reason': self.reason, + 'operator_name': self.operator_name, + 'approver_name': self.approver_name, + 'approval_status': self.approval_status, + 'cost_at_scrap': float(self.cost_at_scrap) if self.cost_at_scrap is not None else None, + 'total_loss': float(self.total_loss) if self.total_loss is not None else None, + 'operation_time': self.operation_time.strftime('%Y-%m-%d %H:%M:%S') if self.operation_time else None, + 'created_at': self.created_at.strftime('%Y-%m-%d %H:%M:%S') if self.created_at else None, + 'updated_at': self.updated_at.strftime('%Y-%m-%d %H:%M:%S') if self.updated_at else None, + } diff --git a/inventory-backend/app/services/inbound/service_service.py b/inventory-backend/app/services/inbound/service_service.py index 5f888be..4dea2e4 100644 --- a/inventory-backend/app/services/inbound/service_service.py +++ b/inventory-backend/app/services/inbound/service_service.py @@ -1,6 +1,6 @@ from app import db from app.models.inbound.service import StockService -from app.models.material_base import MaterialBase +from app.models.base import MaterialBase from datetime import datetime, timedelta import re