Skip to content

Instantly share code, notes, and snippets.

@suhailvs
Last active Aug 10, 2021
Embed
What would you like to do?
HandC Frontend

HandC Documentation

url: https://handcesell.donams.com

Frontend is a single page app build using Angular 11

1.1 Complete Module wise explanation

Control Panel

  • Users - Create users. Need username, password, First name, Last name etc. These users can login to our site.
  • Roles - eg: Agent, Employee, Admin etc
  • User Roles: Assign roles to users. eg: Arun(user) -> Agent(role), Lavanya(user) -> Agent(role)
  • Sync Menu: Create new modules and menus

Billing

  • Customers - Create customers that can be added in billing
  • Customer Import - To Import Customers as CSV
  • Bill Entry - Billing Screen
  • Bill Return - For return of billing

Purchase

  • Purchase Return
  • Purchase Entry: Purchase Screen
  • Product Stock
  • Suppliers - Create Suppliers that can be added in purchase
  • Import Suppliers - To Import Suppliers as CSV
  • Change Stock - Change stock of products

Products

  • Items: create products
  • Import Products - CSV import Products
  • Cess - Cess taxes like: Kerala Flood cess, Corona Cess
  • Export - Product CSV Export
  • Unit of measure - Different types of units such as: Piece, Bundle. This can be used for products such as A4 paper(eg: 1 Bundle=500 pieces of A4 paper)
  • Unit Conversions - eg: 1bundle = 500 pieces for A4, 1budle = 50 pieces for Lexi pen etc)

Outlets

  • Locations
  • Outlets

Accounts

  • Accounts Ledger -
  • Daily Account Closing

Agents

  • Agents - Create Agents. These agents can login to our system using their mobile number
  • Item Stocks - view stock of Prodects
  • Agent Orders
  • Agent Employee - Employees under agent

Expense

  • Expense Masters -
  • Expenses - Expeses for agents
  • Expense Report

Reports

  • Pdf Reports - Sales Register, Sales Summary, HSN Summary, Registered Customers as PDF
  • Physical Stock Register - Sales, purchase, opening balance, closing balance of a daterange as numbers
  • Balance Sheet
  • Stock and Financial Reports - Sales, purchase, opening balance, closing balance of a daterange as Amount
  • GST Reports - Gst wise reports as PDF
  • Expired Products
  • Most Selling Products in Number - Bar Chart
  • Most Selling Products in Revenue - Bar Chart
  • Outlet Wise Sales - Pie chart with drill down
  • Product Wise Sales - Pie chart with drill down
  • Time Series Graph
  • Reoder Level

Users

Agent

  1. Make Bill Entry
  2. Purchase Entry
  3. PDF Reports

Billing Frontend

Bill entry to customers. Select a product by typing 3 letter of either product code or product name, select UOM(unit of measurement, eg: each, box etc), select a mode which is SP: Selling Price, MRP: Maximum > Retail Price, WP: Wholesale Price, RP: Retail Price or you can select CP for Custom Price. Then type quantity. then you can provide percentage discount or cash discount. Then click on the save button to save the billentry

Functions

app/modules/billing/billentry/components/billentry-cu.components.ts

ngOnInit():

getCessTaxes(): get cess taxes from the database

this.items.valueChanges: when FormArray items changes, then calculate tax, total_kfc, total, amount_excl_tax, discount, itemdiscount. valueChanges is an Observable so you can pipe pairwise to get the previous and next values in the subscription.

doHotkey($event):

shortcut keys

Ctrl+S or F7 = Save | Ctrl+P or F8 = Print | Ctrl+D = Last Row | Ctrl+C = Clear All | Ctrl+N or F9 = New | Ctrl+R= New Row

onGSTINChange(gstin):

on change of gst customer select box. if gst customer remove cess calculations. calculate cess of each item if not a gst customer.

onChange(i, whatchanged):

on change of any of inputs:

  • product
  • qty
  • sellingprice
  • customprice
  • discount
  • cash_discount

on product change:

+ get uoms of that product -  patch value to formarray items[uoms] = [{'name':..,'unit':..,'uom':..} ..]
+ check duplicate product already exists then show error toastr and return
+ if last row changed, append a new row

on qty change:

+ if qty greater than stock alert message and put quantity = stock.
+ set selling price

on sellingprice change:

+ set selling price based on uom_prices

on customprice change:

+ set sellingprice = customprice

if any of the above inputs changes:

+ calculate cess rate
+ if gstin customer we put cess = 0
+ calculate unitprice. unitprice = (sellingprice * 100) / (gst_rate+cess + 100);

on discount or qty change:

+ if discount < 0 or > 100, show error message. set discounts to 0
+ calculate cash_discount = amount * (discount_percentage / 100);
+ set cash_discount

on cash_discount change:

+ calculate discount= 100*cash_discount/amount
+ set discount

again if any of the above inputs changes:

+ calculate amount_excl_tax = (amount * 100) / (gst_rate+cess + 100);
+ items formarray at i set values: freeqty, sellingprice, unitprice, sgst .. etc

onUoMChange(i)

+ getAmounts for the selected UoM 
+ put uom amounts in mode variable 	modes = [{'mode':'SP', 'type':'SP: 100'},{'mode':'MRP', ... ];
+ set sellingprice based on mode, if (mode==='SP') sellingprice = data['SP']
+ calculate unitprice based on mode, unitprice = (sellingprice * 100) / (gst_rate+cess + 100);

discountChange(whatchanged)

+ this is for total billdiscount.

Packages Used

  1. @angular
  2. @angular/material
  3. ng-select
  4. datatables
  5. angular-datatables
  6. bootstrap
  7. font-awesome
  8. highcharts
  9. highcharts-angular
  10. jquery
  11. moment
  12. ngx-bootstrap
  13. ngx-toastr

Directories

esell
├── dist  <------------- production build files
├── e2e   <------------- i never used this folder
├── node_modules <------ packages automatically created when we run npm install
├── quick_start
├── src	 	<----------- we have look mainly in this folder
│   ├── app
│   ├── assets <-------- some css files
│   ├── environments <-- we set backend url here.
│   └── index.html <---- base html file
├── angular.json <------ here we will reference css and js libraries.
└── package.json <------ packages list here so that npm install will install those packages

Directory: app

app
├── app.component.css <------------------------------------- empty file we can remove this file
├── app.component.html <------------------------------------ <router-outlet></router-outlet>
├── app.component.spec.ts <--------------------------------- never used this. seems it is for testing
├── app.component.ts <-------------------------------------- nothing there
├── app.module.ts <----------------------------------------- main module with root url config
├── app-routing.module.ts <--------------------------------- routing for layout and login pages
├── modules
│   ├── accounts <------------------------------------------ we didn't use this
│   │   ├── accounts.component.ts
│   │   ├── accountsledger
│   │   │   ├── accountsledger.module.ts
│   │   │   ├── accountsledger-routing.module.ts
│   │   │   ├── accountsledger.service.ts
│   │   │   ├── components
│   │   │   │   ├── accountsledger.component.ts
│   │   │   │   └── accountsledger-cu.component.ts
│   │   │   └── pages
│   │   │       └── accountsledger-cu.component.html
│   │   ├── accounts.module.ts
│   │   ├── accounts-routing.module.ts
│   │   └── dailyaccountclosing
│   │       ├── components
│   │       │   ├── dailyaccountclosing.component.ts
│   │       │   └── dailyaccountclosing-cu.component.ts
│   │       ├── dailyaccountclosing.module.ts
│   │       ├── dailyaccountclosing-routing.module.ts
│   │       ├── dailyaccountclosing.service.ts
│   │       └── pages
│   │           └── dailyaccountclosing-cu.component.html
│   ├── agents
│   │   ├── agent
│   │   │   ├── agent.module.ts
│   │   │   ├── agent-routing.module.ts
│   │   │   ├── agent.service.ts
│   │   │   ├── components
│   │   │   │   ├── agent.component.ts
│   │   │   │   ├── agent-cu.component.ts
│   │   │   │   ├── agent-filter.component.ts
│   │   │   │   └── agent-view.component.ts
│   │   │   └── pages
│   │   │       ├── agent-cu.component.html
│   │   │       ├── agent-filter.component.html
│   │   │       └── agent-view.component.html
│   │   ├── agentemployee
│   │   │   ├── agentemployee.module.ts
│   │   │   ├── agentemployee-routing.module.ts
│   │   │   ├── agentemployee.service.ts
│   │   │   ├── components
│   │   │   │   ├── agentemployee.component.ts
│   │   │   │   └── agentemployee-cu.component.ts
│   │   │   └── pages
│   │   │       └── agentemployee-cu.component.html
│   │   ├── agentitemstock
│   │   │   ├── agentitemstock.module.ts
│   │   │   ├── agentitemstock-routing.module.ts
│   │   │   ├── agentitemstock.service.ts
│   │   │   ├── components
│   │   │   │   └── agentitemstock.component.ts
│   │   │   └── pages
│   │   │       └── agentitemstock.component.html
│   │   ├── agentorders
│   │   │   ├── agentorders.module.ts
│   │   │   ├── agentorders-routing.module.ts
│   │   │   ├── agentorders.service.ts
│   │   │   ├── components
│   │   │   │   ├── agentorders.component.ts
│   │   │   │   ├── agentorders-cu.component.ts
│   │   │   │   └── agentorders-filter.component.ts
│   │   │   └── pages
│   │   │       ├── agentorders-cu.component.html
│   │   │       └── agentorders-filter.component.html
│   │   ├── agents.component.ts
│   │   ├── agents.module.ts
│   │   └── agents-routing.module.ts
│   ├── billing
│   │   ├── billentry
│   │   │   ├── billentry.module.ts
│   │   │   ├── billentry-routing.module.ts
│   │   │   ├── billentry.service.ts
│   │   │   ├── components
│   │   │   │   ├── billentry.component.ts
│   │   │   │   ├── billentry-cu.component.ts
│   │   │   │   ├── billentry-view.component.ts
│   │   │   │   └── product-select.component.ts
│   │   │   └── pages
│   │   │       ├── billentry-cu.component.css
│   │   │       ├── billentry-cu.component.html
│   │   │       ├── billentry-view.component.html
│   │   │       └── product-select.component.html
│   │   ├── billing.component.ts
│   │   ├── billing.module.ts
│   │   ├── billing-routing.module.ts
│   │   ├── billreturn
│   │   │   ├── billreturn.module.ts
│   │   │   ├── billreturn-routing.module.ts
│   │   │   ├── billreturn.service.ts
│   │   │   ├── components
│   │   │   │   ├── billreturn.component.ts
│   │   │   │   ├── billreturn-filter.component.ts
│   │   │   │   └── billreturn-new.component.ts
│   │   │   └── pages
│   │   │       ├── billreturn-filter.component.html
│   │   │       └── billreturn-new.component.html
│   │   ├── creditbill
│   │   │   ├── components
│   │   │   │   └── creditbill.component.ts
│   │   │   ├── creditbill.module.ts
│   │   │   ├── creditbill-routing.module.ts
│   │   │   ├── creditbill.service.ts
│   │   │   └── pages
│   │   │       └── creditbill.component.html
│   │   ├── customer
│   │   │   ├── components
│   │   │   │   ├── customer.component.ts
│   │   │   │   └── customer_cu.component.ts
│   │   │   ├── customer.module.ts
│   │   │   ├── customer-routing.module.ts
│   │   │   ├── customer.service.ts
│   │   │   └── pages
│   │   │       ├── customer.component.css
│   │   │       └── customer_cu.component.html
│   │   └── customerimport
│   │       ├── components
│   │       │   ├── customerimport.component.ts
│   │       │   └── customerimportmessage.component.ts
│   │       ├── customerimport.module.ts
│   │       ├── customerimport-routing.module.ts
│   │       ├── customerimport.service.ts
│   │       └── pages
│   │           └── customerimport.component.html
│   ├── dashboard
│   │   ├── aclpermission
│   │   │   ├── aclpermission.module.ts
│   │   │   ├── aclpermission-routing.module.ts
│   │   │   ├── aclpermission.service.ts
│   │   │   ├── components
│   │   │   │   └── aclpermission.component.ts
│   │   │   └── pages
│   │   │       └── aclpermission.component.html
│   │   ├── aclpermissiontwolevel
│   │   │   ├── aclpermission-routingtwolevel.module.ts
│   │   │   ├── aclpermissiontwolevel.module.ts
│   │   │   ├── aclpermissiontwolevel.service.ts
│   │   │   ├── components
│   │   │   │   └── aclpermissiontwolevel.component.ts
│   │   │   └── pages
│   │   │       └── aclpermissiontwolevel.component.html
│   │   ├── celeryhistory
│   │   │   ├── celeryhistory.module.ts
│   │   │   ├── celeryhistory-routing.module.ts
│   │   │   ├── celeryhistory.service.ts
│   │   │   └── components
│   │   │       └── celeryhistory.component.ts
│   │   ├── dashboard.component.ts
│   │   ├── dashboard.module.ts
│   │   ├── dashboard-routing.module.ts
│   │   ├── menuitems
│   │   │   ├── components
│   │   │   │   ├── accountsettings.component.ts
│   │   │   │   ├── billingsettings.component.ts
│   │   │   │   ├── generalchecklist.component.ts
│   │   │   │   ├── generalsettings.component.ts
│   │   │   │   ├── helpdoc.component.ts
│   │   │   │   ├── mobileappsettings.component.ts
│   │   │   │   ├── printersetup.component.ts
│   │   │   │   ├── purchasesettings.component.ts
│   │   │   │   └── switch.component.ts
│   │   │   ├── menuitems.module.ts
│   │   │   ├── menuitems-routing.module.ts
│   │   │   ├── menuitems.service.ts
│   │   │   └── pages
│   │   │       ├── accountsettings.component.html
│   │   │       ├── billingsettings.component.html
│   │   │       ├── generalchecklist.component.html
│   │   │       ├── generalsettings.component.html
│   │   │       ├── helpdoc.component.html
│   │   │       ├── mobileappsettings.component.html
│   │   │       ├── printersetup.component.html
│   │   │       ├── purchasesettings.component.html
│   │   │       └── switch.component.css
│   │   ├── menumanagement
│   │   │   ├── components
│   │   │   │   └── menumanagement.component.ts
│   │   │   ├── menumanagement.module.ts
│   │   │   ├── menumanagement-routing.module.ts
│   │   │   ├── menumanagement.service.ts
│   │   │   └── pages
│   │   │       └── menumanagement.component.html
│   │   ├── roles
│   │   │   ├── components
│   │   │   │   ├── roles.component.ts
│   │   │   │   ├── roles-cu.component.ts
│   │   │   │   └── roles-view.component.ts
│   │   │   ├── pages
│   │   │   │   ├── roles-cu.component.html
│   │   │   │   └── roles-view.component.html
│   │   │   ├── roles.module.ts
│   │   │   ├── roles-routing.module.ts
│   │   │   └── roles.service.ts
│   │   ├── sqlqueries
│   │   │   ├── components
│   │   │   │   └── sqlqueries.component.ts
│   │   │   ├── pages
│   │   │   │   └── sqlqueries.component.html
│   │   │   ├── sqlqueries.module.ts
│   │   │   ├── sqlqueries-routing.module.ts
│   │   │   └── sqlqueries.service.ts
│   │   ├── testing
│   │   │   ├── testingcomponent
│   │   │   │   ├── testing.component.css
│   │   │   │   ├── testing.component.html
│   │   │   │   └── testing.component.ts
│   │   │   ├── testing.module.ts
│   │   │   ├── testing-routing.module.ts
│   │   │   └── testing.service.ts
│   │   ├── userroles
│   │   │   ├── components
│   │   │   │   ├── userroles.component.ts
│   │   │   │   └── userroles-cu.component.ts
│   │   │   ├── pages
│   │   │   │   └── userroles-cu.component.html
│   │   │   ├── userroles.module.ts
│   │   │   ├── userroles-routing.module.ts
│   │   │   └── userroles.service.ts
│   │   ├── users
│   │   │   ├── components
│   │   │   │   ├── equal-validator.directive.ts
│   │   │   │   ├── users.component.ts
│   │   │   │   ├── users-cu.component.ts
│   │   │   │   ├── users-filter.component.ts
│   │   │   │   └── users-view.component.ts
│   │   │   ├── pages
│   │   │   │   ├── users.component.html
│   │   │   │   ├── users-cu.component.html
│   │   │   │   ├── users-filter.component.html
│   │   │   │   └── users-view.component.html
│   │   │   ├── users.module.ts
│   │   │   ├── users-routing.module.ts
│   │   │   └── users.service.ts
│   │   └── widgetpermission
│   │       ├── components
│   │       │   └── widgetpermission.component.ts
│   │       ├── pages
│   │       │   └── widgetpermission.component.html
│   │       ├── widgetpermission.module.ts
│   │       ├── widgetpermission-routing.module.ts
│   │       └── widgetpermission.service.ts
│   ├── expense
│   │   ├── agentexpenses
│   │   │   ├── agentexpenses.module.ts
│   │   │   ├── agentexpenses-routing.module.ts
│   │   │   ├── agentexpenses.service.ts
│   │   │   ├── components
│   │   │   │   ├── agentexpenses.component.ts
│   │   │   │   ├── agentexpenses-cu.component.ts
│   │   │   │   ├── agentexpenses-edit.component.ts
│   │   │   │   ├── agentexpenses-filter.component.ts
│   │   │   │   └── dailyexpenses.component.ts
│   │   │   └── pages
│   │   │       ├── agentexpenses-cu.component.html
│   │   │       ├── agentexpenses-edit.component.html
│   │   │       ├── agentexpenses-filter.component.html
│   │   │       └── dailyexpenses.component.html
│   │   ├── expense.component.ts
│   │   ├── expense.module.ts
│   │   ├── expense-routing.module.ts
│   │   └── expenses
│   │       ├── components
│   │       │   ├── expenses.component.ts
│   │       │   └── expenses-cu.component.ts
│   │       ├── expenses.module.ts
│   │       ├── expenses-routing.module.ts
│   │       ├── expenses.service.ts
│   │       └── pages
│   │           └── expenses-cu.component.html
│   ├── home
│   │   ├── home.component.ts
│   │   ├── home.module.ts
│   │   ├── homepage
│   │   │   ├── components
│   │   │   │   ├── admin.component.ts
│   │   │   │   ├── agents.component.ts
│   │   │   │   ├── commonwidgets
│   │   │   │   │   ├── preloader.component.ts
│   │   │   │   │   └── profile.component.ts
│   │   │   │   ├── dashboard.component.ts
│   │   │   │   ├── dialog.component.ts
│   │   │   │   ├── superadmin.component.ts
│   │   │   │   └── superadminwidgets
│   │   │   │       └── superadmincpuutil.component.ts
│   │   │   ├── homepage.module.ts
│   │   │   ├── homepage-routing.module.ts
│   │   │   ├── homepage.service.ts
│   │   │   └── pages
│   │   │       ├── admin.component.html
│   │   │       ├── agents.component.html
│   │   │       ├── dashboard.component.html
│   │   │       └── superadmin.component.html
│   │   ├── home-routing.module.ts
│   │   └── profilepage
│   │       ├── components
│   │       │   ├── profile.component.ts
│   │       │   ├── profile-edit-address.component.ts
│   │       │   ├── profile-edit-password.component.ts
│   │       │   ├── profile-edit-userprofile.component.ts
│   │       │   ├── profile-others.component.ts
│   │       │   ├── sidebar.component.ts
│   │       │   ├── tabs
│   │       │   │   ├── tab-address.component.ts
│   │       │   │   └── tab-personaldetails.component.ts
│   │       │   └── verify
│   │       │       ├── verify-email.component.ts
│   │       │       ├── verify-mobile.component.ts
│   │       │       └── verify-topbar.component.ts
│   │       ├── pages
│   │       │   ├── profile-edit-addresss.component.html
│   │       │   ├── profile-edit-password.component.html
│   │       │   ├── profile-edit-userprofile.component.html
│   │       │   ├── profile-others.component.html
│   │       │   ├── sidebar.component.html
│   │       │   └── tabs
│   │       │       ├── tab-assignmentteacher.component.html
│   │       │       └── tab-dashboarddiary.component.html
│   │       ├── profilepage.module.ts
│   │       ├── profilepage-routing.module.ts
│   │       └── profilepage.service.ts
│   ├── layout.component.html
│   ├── layout.component.ts
│   ├── layout.module.ts
│   ├── layout-routing.module.ts
│   ├── myproducts
│   │   ├── agentproducts
│   │   │   ├── agentproducts.module.ts
│   │   │   ├── agentproducts-routing.module.ts
│   │   │   ├── agentproducts.service.ts
│   │   │   ├── components
│   │   │   │   ├── agentproducts.component.ts
│   │   │   │   ├── agentproducts-cu.component.ts
│   │   │   │   └── agentproducts-view.component.ts
│   │   │   └── pages
│   │   │       ├── agentproducts-cu.component.html
│   │   │       └── agentproducts-view.component.html
│   │   ├── agentproductsettings
│   │   │   ├── agentproductsettings.module.ts
│   │   │   ├── agentproductsettings-routing.module.ts
│   │   │   ├── agentproductsettings.service.ts
│   │   │   ├── components
│   │   │   │   ├── agentproductsettings.component.ts
│   │   │   │   └── agentproductsettings-cu.component.ts
│   │   │   └── pages
│   │   │       └── agentproductsettings-cu.component.html
│   │   ├── myproducts.component.ts
│   │   ├── myproducts.module.ts
│   │   └── myproducts-routing.module.ts
│   ├── outlets
│   │   ├── billinghistory
│   │   │   ├── billinghistory.module.ts
│   │   │   ├── billinghistory-routing.module.ts
│   │   │   ├── billinghistory.service.ts
│   │   │   ├── components
│   │   │   │   ├── billinghistory.components.ts
│   │   │   │   └── billinghistory-item.components.ts
│   │   │   └── pages
│   │   │       └── billinghistory-item.component.html
│   │   ├── location
│   │   │   ├── components
│   │   │   │   ├── location.component.ts
│   │   │   │   └── location-cu.component.ts
│   │   │   ├── location.module.ts
│   │   │   ├── location-routing.module.ts
│   │   │   ├── location.service.ts
│   │   │   └── pages
│   │   │       └── location-cu.component.html
│   │   ├── outlet
│   │   │   ├── components
│   │   │   │   ├── outlet.component.ts
│   │   │   │   └── outlet-cu.component.ts
│   │   │   ├── outlet.module.ts
│   │   │   ├── outlet-routing.module.ts
│   │   │   ├── outlet.service.ts
│   │   │   └── pages
│   │   │       └── outlet-cu.component.html
│   │   ├── outlets.component.ts
│   │   ├── outlets.module.ts
│   │   └── outlets-routing.module.ts
│   ├── products
│   │   ├── cess
│   │   │   ├── cess.module.ts
│   │   │   ├── cess-routing.module.ts
│   │   │   ├── cess.service.ts
│   │   │   ├── components
│   │   │   │   ├── cess.component.ts
│   │   │   │   └── cess-cu.component.ts
│   │   │   └── pages
│   │   │       └── cess-cu.component.html
│   │   ├── exports
│   │   │   ├── components
│   │   │   │   └── productstockexport.component.ts
│   │   │   ├── exports.module.ts
│   │   │   ├── exports-routing.module.ts
│   │   │   ├── exports.service.ts
│   │   │   └── pages
│   │   │       └── productstockexport.component.html
│   │   ├── item
│   │   │   ├── components
│   │   │   │   ├── item.component.ts
│   │   │   │   ├── item-cu.component.ts
│   │   │   │   ├── item-cu-multiple.component.ts
│   │   │   │   ├── item-filter.component.ts
│   │   │   │   └── item-view.component.ts
│   │   │   ├── item.module.ts
│   │   │   ├── item-routing.module.ts
│   │   │   ├── item.service.ts
│   │   │   └── pages
│   │   │       ├── item-cu.component.html
│   │   │       ├── item-cu-multiple.component.html
│   │   │       ├── item-filter.component.html
│   │   │       └── item-view.component.html
│   │   ├── itemsimport
│   │   │   ├── components
│   │   │   │   ├── itemsimport.component.ts
│   │   │   │   └── itemsimportmessage.component.ts
│   │   │   ├── itemsimport.module.ts
│   │   │   ├── itemsimport-routing.module.ts
│   │   │   ├── itemsimport.service.ts
│   │   │   └── pages
│   │   │       └── itemsimport.component.html
│   │   ├── products.component.ts
│   │   ├── products.module.ts
│   │   ├── products-routing.module.ts
│   │   └── uom
│   │       ├── components
│   │       │   ├── uom.component.ts
│   │       │   └── uom-cu.component.ts
│   │       ├── pages
│   │       │   └── uom-cu.component.html
│   │       ├── unitconversions_component
│   │       │   ├── unitconversions.component.ts
│   │       │   ├── unitconversions_cu.component.html
│   │       │   └── unitconversions_cu.component.ts
│   │       ├── uom.module.ts
│   │       ├── uom-routing.module.ts
│   │       └── uom.service.ts
│   ├── purchase
│   │   ├── purchaseentry
│   │   │   ├── components
│   │   │   │   ├── changestock.component.ts
│   │   │   │   ├── itemstocks.component.ts
│   │   │   │   ├── purchaseentry.component.ts
│   │   │   │   ├── purchaseentry-filter.component.ts
│   │   │   │   ├── stock_purchase.component.ts
│   │   │   │   └── stock_purchase-view.component.ts
│   │   │   ├── pages
│   │   │   │   ├── changestock.component.html
│   │   │   │   ├── itemstocks.component.html
│   │   │   │   ├── purchaseentry.component.css
│   │   │   │   ├── purchaseentry.component.html
│   │   │   │   ├── purchaseentry-filter.component.html
│   │   │   │   └── stock_purchase-view.component.html
│   │   │   ├── purchaseentry.module.ts
│   │   │   ├── purchaseentry-routing.module.ts
│   │   │   └── purchaseentry.service.ts
│   │   ├── purchasereturn
│   │   │   ├── components
│   │   │   │   ├── purchasereturn.component.ts
│   │   │   │   ├── purchasereturn-cu.component.ts
│   │   │   │   └── purchasereturn-edit.component.ts
│   │   │   ├── pages
│   │   │   │   ├── purchasereturn-cu.component.html
│   │   │   │   └── purchasereturn-edit.component.html
│   │   │   ├── purchasereturn.module.ts
│   │   │   ├── purchasereturn-routing.module.ts
│   │   │   └── purchasereturn.service.ts
│   │   ├── stock_purchase.component.ts
│   │   ├── stock_purchase.module.ts
│   │   ├── stock_purchase-routing.module.ts
│   │   └── supplier
│   │       ├── components
│   │       │   ├── supplier.component.ts
│   │       │   ├── supplier-cu.component.ts
│   │       │   ├── supplierimport.component.ts
│   │       │   └── supplierimportmessage.component.ts
│   │       ├── pages
│   │       │   ├── supplier-cu.component.html
│   │       │   └── supplierimport.component.html
│   │       ├── supplier.module.ts
│   │       ├── supplier-routing.module.ts
│   │       └── supplier.service.ts
│   ├── reports_all_product
│   │   ├── graphs
│   │   │   ├── components
│   │   │   │   ├── mostselling_products_in_number.component.ts
│   │   │   │   ├── mostselling_products_in_revenue.component.ts
│   │   │   │   ├── outletwisesales.component.ts
│   │   │   │   ├── productwisesales.component.ts
│   │   │   │   └── timeseriesgraph.component.ts
│   │   │   ├── graphs_all.module.ts
│   │   │   ├── graphs_all-routing.module.ts
│   │   │   ├── graphs_all.service.ts
│   │   │   └── pages
│   │   │       ├── mostselling_products_in_number.component.html
│   │   │       ├── mostselling_products_in_revenue.component.html
│   │   │       ├── outletwisesales.component.html
│   │   │       ├── productwisesales.component.html
│   │   │       └── timeseriesgraph.component.html
│   │   ├── gstreports
│   │   │   ├── components
│   │   │   │   └── gstreports.component.ts
│   │   │   ├── gstallreports.module.ts
│   │   │   ├── gstallreports-routing.module.ts
│   │   │   ├── gstallreports.service.ts
│   │   │   └── pages
│   │   │       └── gstreports.component.html
│   │   ├── pdfreports
│   │   │   ├── components
│   │   │   │   └── pdfreports.component.ts
│   │   │   ├── pages
│   │   │   │   └── pdfreports.component.html
│   │   │   ├── pdfreports.module.ts
│   │   │   ├── pdfreports-routing.module.ts
│   │   │   └── pdfreports.service.ts
│   │   ├── reports_all_product.component.ts
│   │   ├── reports_all_product.module.ts
│   │   ├── reports_all_product-routing.module.ts
│   │   └── stocks
│   │       ├── components
│   │       │   ├── balance_sheet.component.ts
│   │       │   ├── expired_product.component.ts
│   │       │   ├── financialreports.component.ts
│   │       │   ├── physicalstocks.component.ts
│   │       │   ├── reorder_level.component.ts
│   │       │   └── stockreport.component.ts
│   │       ├── pages
│   │       │   ├── balance_sheet.component.html
│   │       │   ├── expired_product.component.html
│   │       │   ├── financialreports.component.html
│   │       │   ├── physicalstocks.component.html
│   │       │   ├── reorder_level.component.html
│   │       │   └── stockreport.component.html
│   │       ├── stocks_all.module.ts
│   │       ├── stocks_all-routing.module.ts
│   │       └── stocks_all.service.ts
│   ├── stocktransfer
│   │   ├── materialin
│   │   │   ├── components
│   │   │   │   ├── materialin.component.ts
│   │   │   │   └── materialout.component.ts
│   │   │   ├── materialin.module.ts
│   │   │   ├── materialin-routing.module.ts
│   │   │   ├── materialin.service.ts
│   │   │   └── pages
│   │   │       ├── materialin.component.html
│   │   │       └── materialout.component.html
│   │   ├── stocktransfer.component.ts
│   │   ├── stocktransfer.module.ts
│   │   └── stocktransfer-routing.module.ts
│   └── systemconfig
│       ├── bankaccount
│       │   ├── bankaccount.module.ts
│       │   ├── bankaccount-routing.module.ts
│       │   ├── bankaccount.service.ts
│       │   ├── components
│       │   │   ├── bankaccount.component.ts
│       │   │   └── bankaccount-cu.component.ts
│       │   └── pages
│       │       └── bankaccount-cu.component.html
│       ├── caste
│       │   ├── caste.module.ts
│       │   ├── caste-routing.module.ts
│       │   ├── caste.service.ts
│       │   ├── components
│       │   │   ├── caste.component.ts
│       │   │   └── caste-cu.component.ts
│       │   └── pages
│       │       └── caste-cu.component.html
│       ├── citytown
│       │   ├── citytown.module.ts
│       │   ├── citytown-routing.module.ts
│       │   ├── citytown.service.ts
│       │   ├── components
│       │   │   ├── citytown.component.ts
│       │   │   ├── citytown-cu.component.ts
│       │   │   └── citytown-message.component.ts
│       │   └── pages
│       │       └── citytown-cu.component.html
│       ├── country
│       │   ├── components
│       │   │   ├── country.component.ts
│       │   │   └── country-cu.component.ts
│       │   ├── country.module.ts
│       │   ├── country-routing.module.ts
│       │   ├── country.service.ts
│       │   └── pages
│       │       └── country-cu.component.html
│       ├── district
│       │   ├── components
│       │   │   ├── district.component.ts
│       │   │   ├── district-cu.component.ts
│       │   │   └── district-message.component.ts
│       │   ├── district.module.ts
│       │   ├── district-routing.module.ts
│       │   ├── district.service.ts
│       │   └── pages
│       │       └── district-cu.component.html
│       ├── emailconfig
│       │   ├── components
│       │   │   ├── emailconfig.component.ts
│       │   │   ├── emailconfig-cu.component.ts
│       │   │   ├── emailhistory.component.ts
│       │   │   └── emailhistory-filter.component.ts
│       │   ├── emailconfig.module.ts
│       │   ├── emailconfig-routing.module.ts
│       │   ├── emailconfig.service.ts
│       │   └── pages
│       │       ├── emailconfig-cu.component.html
│       │       └── emailhistory-filter.component.html
│       ├── emailcredentials
│       │   ├── components
│       │   │   ├── emailcredentials.component.ts
│       │   │   └── emailcredentials-cu.component.ts
│       │   ├── emailcredentials.module.ts
│       │   ├── emailcredentials-routing.module.ts
│       │   ├── emailcredentials.service.ts
│       │   └── pages
│       │       └── emailcredentials-cu.component.html
│       ├── hobbies
│       │   ├── components
│       │   │   ├── hobbies.component.ts
│       │   │   └── hobbies-cu.component.ts
│       │   ├── hobbies.module.ts
│       │   ├── hobbies-routing.module.ts
│       │   ├── hobbies.service.ts
│       │   └── pages
│       │       └── hobbies-cu.component.html
│       ├── languages
│       │   ├── components
│       │   │   ├── languages.component.ts
│       │   │   └── languages-cu.component.ts
│       │   ├── languages.module.ts
│       │   ├── languages-routing.module.ts
│       │   ├── languages.service.ts
│       │   └── pages
│       │       └── languages-cu.component.html
│       ├── languagesettings
│       │   ├── components
│       │   │   ├── languagesettings.component.ts
│       │   │   └── languagesettings-cu.component.ts
│       │   ├── languagesettings.module.ts
│       │   ├── languagesettings-routing.module.ts
│       │   ├── languagesettings.service.ts
│       │   └── pages
│       │       └── languagesettings-cu.component.html
│       ├── nationality
│       │   ├── components
│       │   │   ├── nationality.component.ts
│       │   │   └── nationality-cu.component.ts
│       │   ├── nationality.module.ts
│       │   ├── nationality-routing.module.ts
│       │   ├── nationality.service.ts
│       │   └── pages
│       │       └── nationality-cu.component.html
│       ├── occupation
│       │   ├── components
│       │   │   ├── occupation.component.ts
│       │   │   └── occupation-cu.component.ts
│       │   ├── occupation.module.ts
│       │   ├── occupation-routing.module.ts
│       │   ├── occupation.service.ts
│       │   └── pages
│       │       └── occupation-cu.component.html
│       ├── organization
│       │   ├── components
│       │   │   ├── organization.component.ts
│       │   │   ├── organization-cu.component.ts
│       │   │   └── organization-view.component.ts
│       │   ├── organization.module.ts
│       │   ├── organization-routing.module.ts
│       │   ├── organization.service.ts
│       │   └── pages
│       │       ├── organization-cu.component.html
│       │       └── organization-view.component.html
│       ├── relationship
│       │   ├── components
│       │   │   ├── relationship.component.ts
│       │   │   └── relationship-cu.component.ts
│       │   ├── pages
│       │   │   └── relationship-cu.component.html
│       │   ├── relationship.module.ts
│       │   ├── relationship-routing.module.ts
│       │   └── relationship.service.ts
│       ├── religion
│       │   ├── components
│       │   │   ├── religion.component.ts
│       │   │   └── religion-cu.component.ts
│       │   ├── pages
│       │   │   └── religion-cu.component.html
│       │   ├── religion.module.ts
│       │   ├── religion-routing.module.ts
│       │   └── religion.service.ts
│       ├── smsconfig
│       │   ├── components
│       │   │   ├── smsconfig.component.ts
│       │   │   ├── smsconfig-cu.component.ts
│       │   │   ├── smshistory.component.ts
│       │   │   └── smshistory-filter.component.ts
│       │   ├── pages
│       │   │   ├── smsconfig-cu.component.html
│       │   │   └── smshistory-filter.component.html
│       │   ├── smsconfig.module.ts
│       │   ├── smsconfig-routing.module.ts
│       │   └── smsconfig.service.ts
│       ├── smscredentials
│       │   ├── components
│       │   │   ├── smscredentials.component.ts
│       │   │   └── smscredentials-cu.component.ts
│       │   ├── pages
│       │   │   └── smscredentials-cu.component.html
│       │   ├── smscredentials.module.ts
│       │   ├── smscredentials-routing.module.ts
│       │   └── smscredentials.service.ts
│       ├── state
│       │   ├── components
│       │   │   ├── state.component.ts
│       │   │   ├── state-cu.component.ts
│       │   │   └── state-message.component.ts
│       │   ├── pages
│       │   │   └── state-cu.component.html
│       │   ├── state.module.ts
│       │   ├── state-routing.module.ts
│       │   └── state.service.ts
│       ├── systemconfig.component.ts
│       ├── systemconfig.module.ts
│       └── systemconfig-routing.module.ts
└── shared
    ├── datatables
    │   ├── datatable.component.html
    │   ├── datatable.component.ts
    │   └── datatable.service.ts
    ├── dateadapter
    │   └── pickdateadapter.component.ts
    ├── errorpages
    │   ├── errorpages.module.ts
    │   ├── errorpages-routing.module.ts
    │   ├── maintenance.component.ts
    │   ├── not-found.component.css
    │   └── not-found.component.ts
    ├── guards
    │   ├── auth.guard.spec.ts
    │   └── auth.guard.ts
    ├── jwt.interceptor.ts
    ├── login
    │   ├── auth.service.spec.ts
    │   ├── auth.service.ts
    │   ├── login.component.css
    │   ├── login.component.html
    │   ├── login.component.spec.ts
    │   ├── login.component.ts
    │   ├── login.module.ts
    │   ├── login-routing.module.ts
    │   ├── logout.component.ts
    │   ├── particles.component.ts
    │   └── verify_emailtoken.component.ts
    ├── partials
    │   ├── footer.component.html
    │   ├── footer.component.ts
    │   ├── menu.component.css
    │   ├── menu.component.html
    │   ├── menu.component.ts
    │   ├── toolbar.component.html
    │   ├── toolbar.component.ts
    │   ├── topnavbar.component.html
    │   ├── topnavbar.component.ts
    │   ├── topnavbarmessage.component.css
    │   └── topnavbar.service.ts
    ├── shared.module.ts
    ├── shared.service.ts
    ├── tinymce.ts
    └── toolbar_datatable.component.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment