Raw Material Cost Done!!
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
import datetime
|
||||
from datetime import datetime, date
|
||||
import uuid
|
||||
|
||||
from fastapi import APIRouter, Depends, Security, Request
|
||||
@ -10,6 +10,7 @@ from ...core.security import get_current_active_user as get_user
|
||||
from ...db.session import SessionLocal
|
||||
from brewman.models.master import AccountBase, CostCentre, Product, ProductGroup
|
||||
from brewman.models.voucher import Voucher, Journal, Inventory
|
||||
import brewman.schemas.reports as schemas
|
||||
from ...core.session import (
|
||||
set_period,
|
||||
get_start_date,
|
||||
@ -28,7 +29,7 @@ def get_db() -> Session:
|
||||
db.close()
|
||||
|
||||
|
||||
@router.get("")
|
||||
@router.get("", response_model=schemas.RawMaterialCost)
|
||||
def report_blank(
|
||||
request: Request,
|
||||
user: UserToken = Security(get_user, scopes=["raw-material-cost"]),
|
||||
@ -37,11 +38,11 @@ def report_blank(
|
||||
"startDate": get_start_date(request.session),
|
||||
"finishDate": get_finish_date(request.session),
|
||||
"body": [],
|
||||
"footer": {},
|
||||
"footer": None,
|
||||
}
|
||||
|
||||
|
||||
@router.get("/data")
|
||||
@router.get("/data", response_model=schemas.RawMaterialCost)
|
||||
def report_data(
|
||||
request: Request,
|
||||
s: str = None,
|
||||
@ -49,7 +50,7 @@ def report_data(
|
||||
db: Session = Depends(get_db),
|
||||
user: UserToken = Security(get_user, scopes=["raw-material-cost"]),
|
||||
):
|
||||
body, footer = build_report(s, f, db)
|
||||
body, footer = build_report(datetime.strptime(s, "%d-%b-%Y"), datetime.strptime(f, "%d-%b-%Y"), db)
|
||||
set_period(s, f, request.session)
|
||||
return {
|
||||
"startDate": s,
|
||||
@ -59,7 +60,7 @@ def report_data(
|
||||
}
|
||||
|
||||
|
||||
@router.get("/{id_}")
|
||||
@router.get("/{id_}", response_model=schemas.RawMaterialCost)
|
||||
def report_id(
|
||||
id_: uuid.UUID,
|
||||
request: Request,
|
||||
@ -68,7 +69,7 @@ def report_id(
|
||||
db: Session = Depends(get_db),
|
||||
user: UserToken = Security(get_user, scopes=["raw-material-cost"]),
|
||||
):
|
||||
body = build_report_id(id_, s, f, db)
|
||||
body = build_report_id(id_, datetime.strptime(s, "%d-%b-%Y"), datetime.strptime(f, "%d-%b-%Y"), db)
|
||||
set_period(s, f, request.session)
|
||||
return {
|
||||
"id": id_,
|
||||
@ -78,7 +79,7 @@ def report_id(
|
||||
}
|
||||
|
||||
|
||||
def build_report(start_date, finish_date, db):
|
||||
def build_report(start_date: date, finish_date: date, db: Session):
|
||||
body = []
|
||||
sum_issue = func.sum(
|
||||
case([(AccountBase.type == 2, Journal.signed_amount)], else_=0)
|
||||
@ -92,8 +93,8 @@ def build_report(start_date, finish_date, db):
|
||||
.join(CostCentre.journals)
|
||||
.join(Journal.voucher)
|
||||
.join(Journal.account)
|
||||
.filter(Voucher.date >= datetime.datetime.strptime(start_date, "%d-%b-%Y"))
|
||||
.filter(Voucher.date <= datetime.datetime.strptime(finish_date, "%d-%b-%Y"))
|
||||
.filter(Voucher.date >= start_date)
|
||||
.filter(Voucher.date <= finish_date)
|
||||
.filter(Journal.cost_centre_id != CostCentre.cost_centre_purchase())
|
||||
.filter(AccountBase.type.in_([2, 3]))
|
||||
.group_by(CostCentre)
|
||||
@ -113,7 +114,7 @@ def build_report(start_date, finish_date, db):
|
||||
"issue": issue,
|
||||
"sale": sale,
|
||||
"rmc": rmc,
|
||||
"url": "", # request.route_url("raw_material_cost_id",id=str(cost_centre.id),_query={"startDate": start_date, "finishDate": finish_date},),
|
||||
"url": ['/', 'raw-material-cost', str(cost_centre.id)],
|
||||
}
|
||||
)
|
||||
|
||||
@ -121,7 +122,7 @@ def build_report(start_date, finish_date, db):
|
||||
return body, {"name": "Total", "issue": issues, "sale": sales, "rmc": rmc}
|
||||
|
||||
|
||||
def build_report_id(cost_centre_id, start_date, finish_date, db):
|
||||
def build_report_id(cost_centre_id: uuid.UUID, start_date: date, finish_date: date, db: Session):
|
||||
sum_quantity = func.sum(Inventory.quantity * Journal.debit).label("quantity")
|
||||
sum_net = func.sum(Inventory.rate * Inventory.quantity * Journal.debit).label("net")
|
||||
sum_gross = func.sum(Inventory.amount * Journal.debit).label("gross")
|
||||
@ -132,8 +133,8 @@ def build_report_id(cost_centre_id, start_date, finish_date, db):
|
||||
.join(Inventory.voucher)
|
||||
.join(Voucher.journals)
|
||||
.join(Product.product_group)
|
||||
.filter(Voucher.date >= datetime.datetime.strptime(start_date, "%d-%b-%Y"))
|
||||
.filter(Voucher.date <= datetime.datetime.strptime(finish_date, "%d-%b-%Y"))
|
||||
.filter(Voucher.date >= start_date)
|
||||
.filter(Voucher.date <= finish_date)
|
||||
.filter(Voucher.type == 3)
|
||||
.filter(Journal.cost_centre_id == cost_centre_id)
|
||||
.group_by(Product)
|
||||
@ -166,7 +167,6 @@ def build_report_id(cost_centre_id, start_date, finish_date, db):
|
||||
list_.append(
|
||||
{
|
||||
"name": product.full_name,
|
||||
"group": product.product_group.name,
|
||||
"quantity": quantity,
|
||||
"net": net,
|
||||
"gross": gross,
|
||||
|
||||
@ -25,17 +25,12 @@ class LedgerItem(BaseModel):
|
||||
|
||||
@validator("date_", pre=True)
|
||||
def parse_date(cls, value):
|
||||
return datetime.strptime(
|
||||
value,
|
||||
"%d-%b-%Y"
|
||||
).date()
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
class Config:
|
||||
anystr_strip_whitespace = True
|
||||
alias_generator = to_camel
|
||||
json_encoders = {
|
||||
date: lambda v: v.strftime("%d-%b-%Y")
|
||||
}
|
||||
json_encoders = {date: lambda v: v.strftime("%d-%b-%Y")}
|
||||
|
||||
|
||||
class Ledger(BaseModel):
|
||||
@ -47,23 +42,15 @@ class Ledger(BaseModel):
|
||||
class Config:
|
||||
anystr_strip_whitespace = True
|
||||
alias_generator = to_camel
|
||||
json_encoders = {
|
||||
date: lambda v: v.strftime("%d-%b-%Y")
|
||||
}
|
||||
json_encoders = {date: lambda v: v.strftime("%d-%b-%Y")}
|
||||
|
||||
@validator("start_date", pre=True)
|
||||
def parse_start_date(cls, value):
|
||||
return datetime.strptime(
|
||||
value,
|
||||
"%d-%b-%Y"
|
||||
).date()
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
@validator("finish_date", pre=True)
|
||||
def parse_finish_date(cls, value):
|
||||
return datetime.strptime(
|
||||
value,
|
||||
"%d-%b-%Y"
|
||||
).date()
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
|
||||
class BalanceSheetItem(BaseModel):
|
||||
@ -86,16 +73,11 @@ class BalanceSheet(BaseModel):
|
||||
class Config:
|
||||
anystr_strip_whitespace = True
|
||||
alias_generator = to_camel
|
||||
json_encoders = {
|
||||
date: lambda v: v.strftime("%d-%b-%Y")
|
||||
}
|
||||
json_encoders = {date: lambda v: v.strftime("%d-%b-%Y")}
|
||||
|
||||
@validator("date_", pre=True)
|
||||
def parse_date(cls, value):
|
||||
return datetime.strptime(
|
||||
value,
|
||||
"%d-%b-%Y"
|
||||
).date()
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
|
||||
class CashFlowItem(BaseModel):
|
||||
@ -128,23 +110,15 @@ class CashFlow(BaseModel):
|
||||
class Config:
|
||||
anystr_strip_whitespace = True
|
||||
alias_generator = to_camel
|
||||
json_encoders = {
|
||||
date: lambda v: v.strftime("%d-%b-%Y")
|
||||
}
|
||||
json_encoders = {date: lambda v: v.strftime("%d-%b-%Y")}
|
||||
|
||||
@validator("start_date", pre=True)
|
||||
def parse_start_date(cls, value):
|
||||
return datetime.strptime(
|
||||
value,
|
||||
"%d-%b-%Y"
|
||||
).date()
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
@validator("finish_date", pre=True)
|
||||
def parse_finish_date(cls, value):
|
||||
return datetime.strptime(
|
||||
value,
|
||||
"%d-%b-%Y"
|
||||
).date()
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
|
||||
class ClosingStockItem(BaseModel):
|
||||
@ -165,16 +139,11 @@ class ClosingStock(BaseModel):
|
||||
class Config:
|
||||
anystr_strip_whitespace = True
|
||||
alias_generator = to_camel
|
||||
json_encoders = {
|
||||
date: lambda v: v.strftime("%d-%b-%Y")
|
||||
}
|
||||
json_encoders = {date: lambda v: v.strftime("%d-%b-%Y")}
|
||||
|
||||
@validator("date_", pre=True)
|
||||
def parse_date(cls, value):
|
||||
return datetime.strptime(
|
||||
value,
|
||||
"%d-%b-%Y"
|
||||
).date()
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
|
||||
class DaybookItem(BaseModel):
|
||||
@ -191,17 +160,12 @@ class DaybookItem(BaseModel):
|
||||
|
||||
@validator("date_", pre=True)
|
||||
def parse_date(cls, value):
|
||||
return datetime.strptime(
|
||||
value,
|
||||
"%d-%b-%Y"
|
||||
).date()
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
class Config:
|
||||
anystr_strip_whitespace = True
|
||||
alias_generator = to_camel
|
||||
json_encoders = {
|
||||
date: lambda v: v.strftime("%d-%b-%Y")
|
||||
}
|
||||
json_encoders = {date: lambda v: v.strftime("%d-%b-%Y")}
|
||||
|
||||
|
||||
class Daybook(BaseModel):
|
||||
@ -212,23 +176,15 @@ class Daybook(BaseModel):
|
||||
class Config:
|
||||
anystr_strip_whitespace = True
|
||||
alias_generator = to_camel
|
||||
json_encoders = {
|
||||
date: lambda v: v.strftime("%d-%b-%Y")
|
||||
}
|
||||
json_encoders = {date: lambda v: v.strftime("%d-%b-%Y")}
|
||||
|
||||
@validator("start_date", pre=True)
|
||||
def parse_start_date(cls, value):
|
||||
return datetime.strptime(
|
||||
value,
|
||||
"%d-%b-%Y"
|
||||
).date()
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
@validator("finish_date", pre=True)
|
||||
def parse_finish_date(cls, value):
|
||||
return datetime.strptime(
|
||||
value,
|
||||
"%d-%b-%Y"
|
||||
).date()
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
|
||||
class NetTransactionsItem(BaseModel):
|
||||
@ -240,9 +196,7 @@ class NetTransactionsItem(BaseModel):
|
||||
class Config:
|
||||
anystr_strip_whitespace = True
|
||||
alias_generator = to_camel
|
||||
json_encoders = {
|
||||
date: lambda v: v.strftime("%d-%b-%Y")
|
||||
}
|
||||
json_encoders = {date: lambda v: v.strftime("%d-%b-%Y")}
|
||||
|
||||
|
||||
class NetTransactions(BaseModel):
|
||||
@ -253,23 +207,15 @@ class NetTransactions(BaseModel):
|
||||
class Config:
|
||||
anystr_strip_whitespace = True
|
||||
alias_generator = to_camel
|
||||
json_encoders = {
|
||||
date: lambda v: v.strftime("%d-%b-%Y")
|
||||
}
|
||||
json_encoders = {date: lambda v: v.strftime("%d-%b-%Y")}
|
||||
|
||||
@validator("start_date", pre=True)
|
||||
def parse_start_date(cls, value):
|
||||
return datetime.strptime(
|
||||
value,
|
||||
"%d-%b-%Y"
|
||||
).date()
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
@validator("finish_date", pre=True)
|
||||
def parse_finish_date(cls, value):
|
||||
return datetime.strptime(
|
||||
value,
|
||||
"%d-%b-%Y"
|
||||
).date()
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
|
||||
class ProductLedgerItem(BaseModel):
|
||||
@ -289,17 +235,12 @@ class ProductLedgerItem(BaseModel):
|
||||
|
||||
@validator("date_", pre=True)
|
||||
def parse_date(cls, value):
|
||||
return datetime.strptime(
|
||||
value,
|
||||
"%d-%b-%Y"
|
||||
).date()
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
class Config:
|
||||
anystr_strip_whitespace = True
|
||||
alias_generator = to_camel
|
||||
json_encoders = {
|
||||
date: lambda v: v.strftime("%d-%b-%Y")
|
||||
}
|
||||
json_encoders = {date: lambda v: v.strftime("%d-%b-%Y")}
|
||||
|
||||
|
||||
class ProductLedger(BaseModel):
|
||||
@ -311,23 +252,15 @@ class ProductLedger(BaseModel):
|
||||
class Config:
|
||||
anystr_strip_whitespace = True
|
||||
alias_generator = to_camel
|
||||
json_encoders = {
|
||||
date: lambda v: v.strftime("%d-%b-%Y")
|
||||
}
|
||||
json_encoders = {date: lambda v: v.strftime("%d-%b-%Y")}
|
||||
|
||||
@validator("start_date", pre=True)
|
||||
def parse_start_date(cls, value):
|
||||
return datetime.strptime(
|
||||
value,
|
||||
"%d-%b-%Y"
|
||||
).date()
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
@validator("finish_date", pre=True)
|
||||
def parse_finish_date(cls, value):
|
||||
return datetime.strptime(
|
||||
value,
|
||||
"%d-%b-%Y"
|
||||
).date()
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
|
||||
class ProfitLossItem(BaseModel):
|
||||
@ -340,9 +273,7 @@ class ProfitLossItem(BaseModel):
|
||||
class Config:
|
||||
anystr_strip_whitespace = True
|
||||
alias_generator = to_camel
|
||||
json_encoders = {
|
||||
date: lambda v: v.strftime("%d-%b-%Y")
|
||||
}
|
||||
json_encoders = {date: lambda v: v.strftime("%d-%b-%Y")}
|
||||
|
||||
|
||||
class ProfitLoss(BaseModel):
|
||||
@ -354,23 +285,15 @@ class ProfitLoss(BaseModel):
|
||||
class Config:
|
||||
anystr_strip_whitespace = True
|
||||
alias_generator = to_camel
|
||||
json_encoders = {
|
||||
date: lambda v: v.strftime("%d-%b-%Y")
|
||||
}
|
||||
json_encoders = {date: lambda v: v.strftime("%d-%b-%Y")}
|
||||
|
||||
@validator("start_date", pre=True)
|
||||
def parse_start_date(cls, value):
|
||||
return datetime.strptime(
|
||||
value,
|
||||
"%d-%b-%Y"
|
||||
).date()
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
@validator("finish_date", pre=True)
|
||||
def parse_finish_date(cls, value):
|
||||
return datetime.strptime(
|
||||
value,
|
||||
"%d-%b-%Y"
|
||||
).date()
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
|
||||
class PurchaseEntriesItem(BaseModel):
|
||||
@ -386,10 +309,7 @@ class PurchaseEntriesItem(BaseModel):
|
||||
|
||||
@validator("date_", pre=True)
|
||||
def parse_date(cls, value):
|
||||
return datetime.strptime(
|
||||
value,
|
||||
"%d-%b-%Y"
|
||||
).date()
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
class Config:
|
||||
anystr_strip_whitespace = True
|
||||
@ -404,23 +324,15 @@ class PurchaseEntries(BaseModel):
|
||||
class Config:
|
||||
anystr_strip_whitespace = True
|
||||
alias_generator = to_camel
|
||||
json_encoders = {
|
||||
date: lambda v: v.strftime("%d-%b-%Y")
|
||||
}
|
||||
json_encoders = {date: lambda v: v.strftime("%d-%b-%Y")}
|
||||
|
||||
@validator("start_date", pre=True)
|
||||
def parse_start_date(cls, value):
|
||||
return datetime.strptime(
|
||||
value,
|
||||
"%d-%b-%Y"
|
||||
).date()
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
@validator("finish_date", pre=True)
|
||||
def parse_finish_date(cls, value):
|
||||
return datetime.strptime(
|
||||
value,
|
||||
"%d-%b-%Y"
|
||||
).date()
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
|
||||
class PurchasesItem(BaseModel):
|
||||
@ -444,24 +356,60 @@ class Purchases(BaseModel):
|
||||
class Config:
|
||||
anystr_strip_whitespace = True
|
||||
alias_generator = to_camel
|
||||
json_encoders = {
|
||||
date: lambda v: v.strftime("%d-%b-%Y")
|
||||
}
|
||||
json_encoders = {date: lambda v: v.strftime("%d-%b-%Y")}
|
||||
|
||||
@validator("start_date", pre=True)
|
||||
def parse_start_date(cls, value):
|
||||
if isinstance(value, date):
|
||||
return value
|
||||
return datetime.strptime(
|
||||
value,
|
||||
"%d-%b-%Y"
|
||||
).date()
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
@validator("finish_date", pre=True)
|
||||
def parse_finish_date(cls, value):
|
||||
if isinstance(value, date):
|
||||
return value
|
||||
return datetime.strptime(
|
||||
value,
|
||||
"%d-%b-%Y"
|
||||
).date()
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
|
||||
class RawMaterialCostItem(BaseModel):
|
||||
name: Optional[str]
|
||||
issue: Optional[Decimal]
|
||||
sale: Optional[Decimal]
|
||||
rmc: Optional[Decimal]
|
||||
url: Optional[List[str]]
|
||||
|
||||
group: Optional[str]
|
||||
quantity: Optional[Decimal]
|
||||
net: Optional[Decimal]
|
||||
gross: Optional[Decimal]
|
||||
|
||||
heading: Optional[bool]
|
||||
|
||||
class Config:
|
||||
anystr_strip_whitespace = True
|
||||
alias_generator = to_camel
|
||||
|
||||
|
||||
class RawMaterialCost(BaseModel):
|
||||
id_: Optional[uuid.UUID]
|
||||
start_date: date
|
||||
finish_date: date
|
||||
body: List[RawMaterialCostItem]
|
||||
footer: Optional[RawMaterialCostItem]
|
||||
|
||||
class Config:
|
||||
anystr_strip_whitespace = True
|
||||
alias_generator = to_camel
|
||||
json_encoders = {date: lambda v: v.strftime("%d-%b-%Y")}
|
||||
|
||||
@validator("start_date", pre=True)
|
||||
def parse_start_date(cls, value):
|
||||
if isinstance(value, date):
|
||||
return value
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
@validator("finish_date", pre=True)
|
||||
def parse_finish_date(cls, value):
|
||||
if isinstance(value, date):
|
||||
return value
|
||||
return datetime.strptime(value, "%d-%b-%Y").date()
|
||||
|
||||
@ -30,45 +30,45 @@
|
||||
<ng-container matColumnDef="name">
|
||||
<mat-header-cell *matHeaderCellDef mat-sort-header>Name</mat-header-cell>
|
||||
<mat-cell *matCellDef="let row">
|
||||
<a [href]="row.url" *ngIf="row.url">
|
||||
<a *ngIf="row.url" [routerLink]="row.url" [queryParams]="{startDate: info.startDate, finishDate: info.finishDate}">
|
||||
{{row.name}}
|
||||
</a>
|
||||
<span *ngIf="!row.url">{{row.name}}</span>
|
||||
</mat-cell>
|
||||
<mat-footer-cell *matFooterCellDef><span *ngIf="info.footer">{{info.footer.name}}</span></mat-footer-cell>
|
||||
<mat-footer-cell *matFooterCellDef>{{info.footer?.name}}</mat-footer-cell>
|
||||
</ng-container>
|
||||
|
||||
<!-- Issue Column -->
|
||||
<ng-container matColumnDef="issue">
|
||||
<mat-header-cell *matHeaderCellDef mat-sort-header class="right">Issue</mat-header-cell>
|
||||
<mat-cell *matCellDef="let row" class="right">{{row.issue | currency:'INR'}}</mat-cell>
|
||||
<mat-footer-cell *matFooterCellDef class="right">{{info.footer.issue | currency:'INR'}}</mat-footer-cell>
|
||||
<mat-footer-cell *matFooterCellDef class="right">{{info.footer?.issue | currency:'INR'}}</mat-footer-cell>
|
||||
</ng-container>
|
||||
|
||||
<!-- Sale Column -->
|
||||
<ng-container matColumnDef="sale">
|
||||
<mat-header-cell *matHeaderCellDef mat-sort-header class="right">Sale</mat-header-cell>
|
||||
<mat-cell *matCellDef="let row" class="right">{{row.sale | currency:'INR'}}</mat-cell>
|
||||
<mat-footer-cell *matFooterCellDef class="right">{{info.footer.sale | currency:'INR'}}</mat-footer-cell>
|
||||
<mat-footer-cell *matFooterCellDef class="right">{{info.footer?.sale | currency:'INR'}}</mat-footer-cell>
|
||||
</ng-container>
|
||||
|
||||
<!-- Rmc Column -->
|
||||
<ng-container matColumnDef="rmc">
|
||||
<mat-header-cell *matHeaderCellDef class="right">RMC</mat-header-cell>
|
||||
<mat-cell *matCellDef="let row" class="right">{{row.rmc | percent:'1.2-2'}}</mat-cell>
|
||||
<mat-footer-cell *matFooterCellDef class="right">{{info.footer.rmc | percent:'1.2-2'}}</mat-footer-cell>
|
||||
<mat-footer-cell *matFooterCellDef class="right">{{info.footer?.rmc | percent:'1.2-2'}}</mat-footer-cell>
|
||||
</ng-container>
|
||||
|
||||
<!-- Group Column -->
|
||||
<ng-container matColumnDef="group">
|
||||
<mat-header-cell *matHeaderCellDef mat-sort-header>Group</mat-header-cell>
|
||||
<mat-cell *matCellDef="let row"><a [href]="row.url">{{row.group}}</a></mat-cell>
|
||||
<mat-cell *matCellDef="let row">{{row.group}}</mat-cell>
|
||||
<mat-footer-cell *matFooterCellDef></mat-footer-cell>
|
||||
</ng-container>
|
||||
|
||||
<!-- Quantity Column -->
|
||||
<ng-container matColumnDef="quantity">
|
||||
<mat-header-cell *matHeaderCellDef mat-sort-header class="right">Quantity Quantity</mat-header-cell>
|
||||
<mat-header-cell *matHeaderCellDef mat-sort-header class="right">Quantity</mat-header-cell>
|
||||
<mat-cell *matCellDef="let row" class="right">{{row.quantity | number:'1.2-2'}}</mat-cell>
|
||||
<mat-footer-cell *matFooterCellDef></mat-footer-cell>
|
||||
</ng-container>
|
||||
|
||||
@ -21,7 +21,6 @@ export class RawMaterialCostService {
|
||||
}
|
||||
|
||||
list(id: string, startDate: string, finishDate): Observable<RawMaterialCost> {
|
||||
const listUrl = (id === null) ? url : `${url}/${id}`;
|
||||
const options = {params: new HttpParams()};
|
||||
if (startDate !== null) {
|
||||
options.params = options.params.set('s', startDate);
|
||||
@ -29,6 +28,7 @@ export class RawMaterialCostService {
|
||||
if (finishDate !== null) {
|
||||
options.params = options.params.set('f', finishDate);
|
||||
}
|
||||
const listUrl = (id === null) ? ( (startDate || finishDate) ? `${url}/data` : url) : `${url}/${id}`;
|
||||
return <Observable<RawMaterialCost>>this.http.get<RawMaterialCost>(listUrl, options)
|
||||
.pipe(
|
||||
catchError(this.log.handleError(serviceName, 'list'))
|
||||
|
||||
Reference in New Issue
Block a user