diff --git a/frontend/mgramseva/assets/icons/config.json b/frontend/mgramseva/assets/icons/config.json
index c8d1d9a69..87f7d6076 100644
--- a/frontend/mgramseva/assets/icons/config.json
+++ b/frontend/mgramseva/assets/icons/config.json
@@ -131,6 +131,20 @@
"search": [
"updateexpenses"
]
+ },
+ {
+ "uid": "7575e60d98fe96288614b8e6bbb34c8e",
+ "css": "gpwscdetails",
+ "code": 59412,
+ "src": "custom_icons",
+ "selected": true,
+ "svg": {
+ "path": "M888.9 0H111.1C50 0 0 50 0 111.1V888.9C0 950 50 1000 111.1 1000H888.9C950 1000 1000 950 1000 888.9V111.1C1000 50 950 0 888.9 0ZM611.1 777.8H222.2V666.7H611.1V777.8ZM777.8 555.6H222.2V444.4H777.8V555.6ZM777.8 333.3H222.2V222.2H777.8V333.3Z",
+ "width": 1000
+ },
+ "search": [
+ "gpwscdetails"
+ ]
}
]
}
\ No newline at end of file
diff --git a/frontend/mgramseva/assets/icons/fonts/HomeIcons.ttf b/frontend/mgramseva/assets/icons/fonts/HomeIcons.ttf
index 8e366ae82..a645dc6ea 100644
Binary files a/frontend/mgramseva/assets/icons/fonts/HomeIcons.ttf and b/frontend/mgramseva/assets/icons/fonts/HomeIcons.ttf differ
diff --git a/frontend/mgramseva/assets/svg/gpwscDetails.svg b/frontend/mgramseva/assets/svg/gpwscDetails.svg
new file mode 100644
index 000000000..17b6e1dbe
--- /dev/null
+++ b/frontend/mgramseva/assets/svg/gpwscDetails.svg
@@ -0,0 +1,3 @@
+
diff --git a/frontend/mgramseva/lib/icons/home_icons_icons.dart b/frontend/mgramseva/lib/icons/home_icons_icons.dart
index 67ca27e18..b4c34af90 100644
--- a/frontend/mgramseva/lib/icons/home_icons_icons.dart
+++ b/frontend/mgramseva/lib/icons/home_icons_icons.dart
@@ -30,4 +30,5 @@ class HomeIcons {
static const IconData printreciept = IconData(0xe806, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData updateconsumer = IconData(0xe807, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData updateexpenses = IconData(0xe808, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData gpwscdetails = IconData(0xe814, fontFamily: _kFontFam, fontPackage: _kFontPkg);
}
diff --git a/frontend/mgramseva/lib/main.dart b/frontend/mgramseva/lib/main.dart
index b67d4f2b6..25f1860f6 100644
--- a/frontend/mgramseva/lib/main.dart
+++ b/frontend/mgramseva/lib/main.dart
@@ -24,6 +24,7 @@ import 'package:mgramseva/providers/forgot_password_provider.dart';
import 'package:mgramseva/providers/home_provider.dart';
import 'package:mgramseva/providers/household_details_provider.dart';
import 'package:mgramseva/providers/household_register_provider.dart';
+import 'package:mgramseva/providers/ifix_hierarchy_provider.dart';
import 'package:mgramseva/providers/language.dart';
import 'package:mgramseva/providers/notification_screen_provider.dart';
import 'package:mgramseva/providers/notifications_provider.dart';
@@ -188,6 +189,7 @@ class _MyAppState extends State {
ChangeNotifierProvider(create: (_) => RevenueDashboard()),
ChangeNotifierProvider(create: (_) => HouseholdRegisterProvider()),
ChangeNotifierProvider(create: (_) => NotificationScreenProvider()),
+ ChangeNotifierProvider(create: (_) => IfixHierarchyProvider()),
],
child: Consumer(
builder: (_, userProvider, child) => GestureDetector(
diff --git a/frontend/mgramseva/lib/model/localization/language.dart b/frontend/mgramseva/lib/model/localization/language.dart
index 55ab344f2..1c60bc706 100644
--- a/frontend/mgramseva/lib/model/localization/language.dart
+++ b/frontend/mgramseva/lib/model/localization/language.dart
@@ -6,6 +6,8 @@ import 'package:mgramseva/model/mdms/property_type.dart';
import 'package:mgramseva/model/mdms/sub_category_type.dart';
import 'package:mgramseva/model/mdms/tax_period.dart';
+import '../../repository/water_services_calculation.dart';
+
class LanguageList {
dynamic? responseInfo;
MdmsRes? mdmsRes;
@@ -37,6 +39,7 @@ class MdmsRes {
Category? category;
SubCategory? subCategory;
TaxPeriodListModel? taxPeriodList;
+ WCBillingSlabs? wcBillingSlabList;
MdmsRes({this.commonMasters});
@@ -65,6 +68,9 @@ class MdmsRes {
taxPeriodList = json['BillingService'] != null
? new TaxPeriodListModel.fromJson(json['BillingService'])
: null;
+ wcBillingSlabList = json['ws-services-calculation'] != null
+ ? new WCBillingSlabs.fromJson(json['ws-services-calculation'])
+ : null;
}
Map toJson() {
diff --git a/frontend/mgramseva/lib/model/mdms/department.dart b/frontend/mgramseva/lib/model/mdms/department.dart
new file mode 100644
index 000000000..68895c9b2
--- /dev/null
+++ b/frontend/mgramseva/lib/model/mdms/department.dart
@@ -0,0 +1,46 @@
+import 'dart:math';
+
+class Department {
+ final String id;
+ final String tenantId;
+ final String departmentId;
+ final String code;
+ final String name;
+ final int hierarchyLevel;
+ late final List children;
+
+ Department({
+ required this.id,
+ required this.tenantId,
+ required this.departmentId,
+ required this.code,
+ required this.name,
+ required this.hierarchyLevel,
+ List? children,
+ }) : children = children ?? [];
+
+ factory Department.fromJson(Map json) {
+ final childrenJson = json['children'] as List;
+ return Department(
+ id: json['id']??'',
+ tenantId: json['tenantId']??'',
+ departmentId: json['departmentId']??'',
+ code: json['code']??'',
+ name: json['name']??'',
+ hierarchyLevel: json['hierarchyLevel'] ?? Random().nextInt(500)+50,
+ children: childrenJson.map((childJson) => Department.fromJson(childJson)).toList(),
+ );
+ }
+
+ Map toJson() {
+ return {
+ 'id': id,
+ 'tenantId': tenantId,
+ 'departmentId': departmentId,
+ 'code': code,
+ 'name': name,
+ 'hierarchyLevel': hierarchyLevel,
+ 'children': List