Supply Chain -> Material Types ve Material Groups

This commit is contained in:
Sedat ÖZTÜRK 2025-10-30 14:25:08 +03:00
parent 1465675936
commit 48d5f06752
23 changed files with 1535 additions and 284 deletions

View file

@ -10935,49 +10935,49 @@
},
{
"resourceName": "Platform",
"key": "App.SupplyChain.MaterialTypes",
"key": "App.SupplyChain.MaterialType",
"tr": "Malzeme Tipleri",
"en": "Material Types"
},
{
"resourceName": "Platform",
"key": "App.SupplyChain.MaterialGroups",
"key": "App.SupplyChain.MaterialGroup",
"tr": "Malzeme Grupları",
"en": "Material Groups"
},
{
"resourceName": "Platform",
"key": "App.SupplyChain.Materials",
"key": "App.SupplyChain.Material",
"tr": "Malzeme Listesi",
"en": "Materials"
},
{
"resourceName": "Platform",
"key": "App.SupplyChain.Suppliers",
"key": "App.SupplyChain.Supplier",
"tr": "Tedarikçiler",
"en": "Suppliers"
},
{
"resourceName": "Platform",
"key": "App.SupplyChain.Requests",
"key": "App.SupplyChain.Request",
"tr": "Satınalma Talepleri",
"en": "Purchase Requests"
},
{
"resourceName": "Platform",
"key": "App.SupplyChain.Quotations",
"key": "App.SupplyChain.Quotation",
"tr": "Teklifler",
"en": "Quotations"
},
{
"resourceName": "Platform",
"key": "App.SupplyChain.Approvals",
"key": "App.SupplyChain.Approval",
"tr": "Onay İş Akışları",
"en": "Approval Workflows"
},
{
"resourceName": "Platform",
"key": "App.SupplyChain.Orders",
"key": "App.SupplyChain.Order",
"tr": "Siparişler",
"en": "Orders"
},

File diff suppressed because it is too large Load diff

View file

@ -2221,7 +2221,7 @@
"ParentCode": null,
"Code": "App.Coordinator",
"DisplayName": "App.Coordinator",
"Order": 500,
"Order": 600,
"Url": null,
"Icon": "FcCollaboration",
"RequiredPermissionName": null,
@ -2401,7 +2401,7 @@
"ParentCode": null,
"Code": "App.Crm",
"DisplayName": "App.Crm",
"Order": 600,
"Order": 700,
"Url": null,
"Icon": "FcContacts",
"RequiredPermissionName": null,
@ -2471,7 +2471,7 @@
"ParentCode": null,
"Code": "App.SupplyChain",
"DisplayName": "App.SupplyChain",
"Order": 700,
"Order": 800,
"Url": null,
"Icon": "FcProcess",
"RequiredPermissionName": null,
@ -2479,82 +2479,82 @@
},
{
"ParentCode": "App.SupplyChain",
"Code": "App.SupplyChain.MaterialTypes",
"DisplayName": "App.SupplyChain.MaterialTypes",
"Code": "App.SupplyChain.MaterialType",
"DisplayName": "App.SupplyChain.MaterialType",
"Order": 1,
"Url": "/admin/supplychain/materials/types",
"Icon": "FcDataSheet",
"RequiredPermissionName": "App.SupplyChain.MaterialTypes",
"Url": "/admin/list/list-materialtype",
"Icon": "FcPackage",
"RequiredPermissionName": "App.SupplyChain.MaterialType",
"IsDisabled": false
},
{
"ParentCode": "App.SupplyChain",
"Code": "App.SupplyChain.MaterialGroups",
"DisplayName": "App.SupplyChain.MaterialGroups",
"Code": "App.SupplyChain.MaterialGroup",
"DisplayName": "App.SupplyChain.MaterialGroup",
"Order": 2,
"Url": "/admin/supplychain/materials/groups",
"Icon": "FcGrid",
"RequiredPermissionName": "App.SupplyChain.MaterialGroups",
"Url": "/admin/list/list-materialgroup",
"Icon": "FcTreeStructure",
"RequiredPermissionName": "App.SupplyChain.MaterialGroup",
"IsDisabled": false
},
{
"ParentCode": "App.SupplyChain",
"Code": "App.SupplyChain.Materials",
"DisplayName": "App.SupplyChain.Materials",
"Code": "App.SupplyChain.Material",
"DisplayName": "App.SupplyChain.Material",
"Order": 3,
"Url": "/admin/supplychain/materials",
"Icon": "FcTodoList",
"RequiredPermissionName": "App.SupplyChain.Materials",
"RequiredPermissionName": "App.SupplyChain.Material",
"IsDisabled": false
},
{
"ParentCode": "App.SupplyChain",
"Code": "App.SupplyChain.Suppliers",
"DisplayName": "App.SupplyChain.Suppliers",
"Code": "App.SupplyChain.Supplier",
"DisplayName": "App.SupplyChain.Supplier",
"Order": 4,
"Url": "/admin/supplychain/suppliers",
"Icon": "FcBusiness",
"RequiredPermissionName": "App.SupplyChain.Suppliers",
"RequiredPermissionName": "App.SupplyChain.Supplier",
"IsDisabled": false
},
{
"ParentCode": "App.SupplyChain",
"Code": "App.SupplyChain.Requests",
"DisplayName": "App.SupplyChain.Requests",
"Code": "App.SupplyChain.Request",
"DisplayName": "App.SupplyChain.Request",
"Order": 5,
"Url": "/admin/supplychain/requests",
"Icon": "FcServices",
"RequiredPermissionName": "App.SupplyChain.Requests",
"RequiredPermissionName": "App.SupplyChain.Request",
"IsDisabled": false
},
{
"ParentCode": "App.SupplyChain",
"Code": "App.SupplyChain.Quotations",
"DisplayName": "App.SupplyChain.Quotations",
"Code": "App.SupplyChain.Quotation",
"DisplayName": "App.SupplyChain.Quotation",
"Order": 7,
"Url": "/admin/supplychain/quotations",
"Icon": "FcSurvey",
"RequiredPermissionName": "App.SupplyChain.Quotations",
"RequiredPermissionName": "App.SupplyChain.Quotation",
"IsDisabled": false
},
{
"ParentCode": "App.SupplyChain",
"Code": "App.SupplyChain.Approvals",
"DisplayName": "App.SupplyChain.Approvals",
"Code": "App.SupplyChain.Approval",
"DisplayName": "App.SupplyChain.Approval",
"Order": 8,
"Url": "/admin/supplychain/approvals",
"Icon": "FcApproval",
"RequiredPermissionName": "App.SupplyChain.Approvals",
"RequiredPermissionName": "App.SupplyChain.Approval",
"IsDisabled": false
},
{
"ParentCode": "App.SupplyChain",
"Code": "App.SupplyChain.Orders",
"DisplayName": "App.SupplyChain.Orders",
"Code": "App.SupplyChain.Order",
"DisplayName": "App.SupplyChain.Order",
"Order": 9,
"Url": "/admin/supplychain/orders",
"Icon": "FcShop",
"RequiredPermissionName": "App.SupplyChain.Orders",
"RequiredPermissionName": "App.SupplyChain.Order",
"IsDisabled": false
},
{
@ -2571,7 +2571,7 @@
"ParentCode": null,
"Code": "App.Maintenance",
"DisplayName": "App.Maintenance",
"Order": 800,
"Order": 900,
"Url": null,
"Icon": "FcFactory",
"RequiredPermissionName": null,
@ -2641,7 +2641,7 @@
"ParentCode": null,
"Code": "App.Warehouse",
"DisplayName": "App.Warehouse",
"Order": 900,
"Order": 1000,
"Url": null,
"Icon": "FcOpenedFolder",
"RequiredPermissionName": null,
@ -2741,7 +2741,7 @@
"ParentCode": null,
"Code": "App.Projects",
"DisplayName": "App.Projects",
"Order": 1000,
"Order": 1100,
"Url": null,
"Icon": "FcTimeline",
"RequiredPermissionName": null,
@ -2821,7 +2821,7 @@
"ParentCode": null,
"Code": "App.Hr",
"DisplayName": "App.Hr",
"Order": 1100,
"Order": 1200,
"Url": null,
"Icon": "FcManager",
"RequiredPermissionName": null,
@ -2981,7 +2981,7 @@
"ParentCode": null,
"Code": "App.Mrp",
"DisplayName": "App.Mrp",
"Order": 1200,
"Order": 1300,
"Url": null,
"Icon": "FcServices",
"RequiredPermissionName": null,
@ -3081,7 +3081,7 @@
"ParentCode": null,
"Code": "App.Accounting",
"DisplayName": "App.Accounting",
"Order": 1300,
"Order": 1400,
"Url": null,
"Icon": "FcMoneyTransfer",
"RequiredPermissionName": null,

View file

@ -5352,17 +5352,17 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.MaterialTypes",
"Name": "App.SupplyChain.MaterialType",
"ParentName": null,
"DisplayName": "App.SupplyChain.MaterialTypes",
"DisplayName": "App.SupplyChain.MaterialType",
"IsEnabled": true,
"MultiTenancySide": 3,
"MenuGroup": "Erp"
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.MaterialTypes.Create",
"ParentName": "App.SupplyChain.MaterialTypes",
"Name": "App.SupplyChain.MaterialType.Create",
"ParentName": "App.SupplyChain.MaterialType",
"DisplayName": "Create",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5370,8 +5370,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.MaterialTypes.Update",
"ParentName": "App.SupplyChain.MaterialTypes",
"Name": "App.SupplyChain.MaterialType.Update",
"ParentName": "App.SupplyChain.MaterialType",
"DisplayName": "Update",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5379,8 +5379,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.MaterialTypes.Delete",
"ParentName": "App.SupplyChain.MaterialTypes",
"Name": "App.SupplyChain.MaterialType.Delete",
"ParentName": "App.SupplyChain.MaterialType",
"DisplayName": "Delete",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5388,8 +5388,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.MaterialTypes.Export",
"ParentName": "App.SupplyChain.MaterialTypes",
"Name": "App.SupplyChain.MaterialType.Export",
"ParentName": "App.SupplyChain.MaterialType",
"DisplayName": "Export",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5397,8 +5397,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.MaterialTypes.Import",
"ParentName": "App.SupplyChain.MaterialTypes",
"Name": "App.SupplyChain.MaterialType.Import",
"ParentName": "App.SupplyChain.MaterialType",
"DisplayName": "Import",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5406,8 +5406,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.MaterialTypes.Activity",
"ParentName": "App.SupplyChain.MaterialTypes",
"Name": "App.SupplyChain.MaterialType.Activity",
"ParentName": "App.SupplyChain.MaterialType",
"DisplayName": "Activity",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5415,17 +5415,17 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.MaterialGroups",
"Name": "App.SupplyChain.MaterialGroup",
"ParentName": null,
"DisplayName": "App.SupplyChain.MaterialGroups",
"DisplayName": "App.SupplyChain.MaterialGroup",
"IsEnabled": true,
"MultiTenancySide": 3,
"MenuGroup": "Erp"
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.MaterialGroups.Create",
"ParentName": "App.SupplyChain.MaterialGroups",
"Name": "App.SupplyChain.MaterialGroup.Create",
"ParentName": "App.SupplyChain.MaterialGroup",
"DisplayName": "Create",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5433,8 +5433,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.MaterialGroups.Update",
"ParentName": "App.SupplyChain.MaterialGroups",
"Name": "App.SupplyChain.MaterialGroup.Update",
"ParentName": "App.SupplyChain.MaterialGroup",
"DisplayName": "Update",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5442,8 +5442,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.MaterialGroups.Delete",
"ParentName": "App.SupplyChain.MaterialGroups",
"Name": "App.SupplyChain.MaterialGroup.Delete",
"ParentName": "App.SupplyChain.MaterialGroup",
"DisplayName": "Delete",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5451,8 +5451,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.MaterialGroups.Export",
"ParentName": "App.SupplyChain.MaterialGroups",
"Name": "App.SupplyChain.MaterialGroup.Export",
"ParentName": "App.SupplyChain.MaterialGroup",
"DisplayName": "Export",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5460,8 +5460,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.MaterialGroups.Import",
"ParentName": "App.SupplyChain.MaterialGroups",
"Name": "App.SupplyChain.MaterialGroup.Import",
"ParentName": "App.SupplyChain.MaterialGroup",
"DisplayName": "Import",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5469,8 +5469,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.MaterialGroups.Activity",
"ParentName": "App.SupplyChain.MaterialGroups",
"Name": "App.SupplyChain.MaterialGroup.Activity",
"ParentName": "App.SupplyChain.MaterialGroup",
"DisplayName": "Activity",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5478,17 +5478,17 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Materials",
"Name": "App.SupplyChain.Material",
"ParentName": null,
"DisplayName": "App.SupplyChain.Materials",
"DisplayName": "App.SupplyChain.Material",
"IsEnabled": true,
"MultiTenancySide": 3,
"MenuGroup": "Erp"
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Materials.Create",
"ParentName": "App.SupplyChain.Materials",
"Name": "App.SupplyChain.Material.Create",
"ParentName": "App.SupplyChain.Material",
"DisplayName": "Create",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5496,8 +5496,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Materials.Update",
"ParentName": "App.SupplyChain.Materials",
"Name": "App.SupplyChain.Material.Update",
"ParentName": "App.SupplyChain.Material",
"DisplayName": "Update",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5505,8 +5505,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Materials.Delete",
"ParentName": "App.SupplyChain.Materials",
"Name": "App.SupplyChain.Material.Delete",
"ParentName": "App.SupplyChain.Material",
"DisplayName": "Delete",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5514,8 +5514,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Materials.Export",
"ParentName": "App.SupplyChain.Materials",
"Name": "App.SupplyChain.Material.Export",
"ParentName": "App.SupplyChain.Material",
"DisplayName": "Export",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5523,8 +5523,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Materials.Import",
"ParentName": "App.SupplyChain.Materials",
"Name": "App.SupplyChain.Material.Import",
"ParentName": "App.SupplyChain.Material",
"DisplayName": "Import",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5532,8 +5532,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Materials.Activity",
"ParentName": "App.SupplyChain.Materials",
"Name": "App.SupplyChain.Material.Activity",
"ParentName": "App.SupplyChain.Material",
"DisplayName": "Activity",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5541,17 +5541,17 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Suppliers",
"Name": "App.SupplyChain.Supplier",
"ParentName": null,
"DisplayName": "App.SupplyChain.Suppliers",
"DisplayName": "App.SupplyChain.Supplier",
"IsEnabled": true,
"MultiTenancySide": 3,
"MenuGroup": "Erp"
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Suppliers.Create",
"ParentName": "App.SupplyChain.Suppliers",
"Name": "App.SupplyChain.Supplier.Create",
"ParentName": "App.SupplyChain.Supplier",
"DisplayName": "Create",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5559,8 +5559,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Suppliers.Update",
"ParentName": "App.SupplyChain.Suppliers",
"Name": "App.SupplyChain.Supplier.Update",
"ParentName": "App.SupplyChain.Supplier",
"DisplayName": "Update",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5568,8 +5568,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Suppliers.Delete",
"ParentName": "App.SupplyChain.Suppliers",
"Name": "App.SupplyChain.Supplier.Delete",
"ParentName": "App.SupplyChain.Supplier",
"DisplayName": "Delete",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5577,8 +5577,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Suppliers.Export",
"ParentName": "App.SupplyChain.Suppliers",
"Name": "App.SupplyChain.Supplier.Export",
"ParentName": "App.SupplyChain.Supplier",
"DisplayName": "Export",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5586,8 +5586,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Suppliers.Import",
"ParentName": "App.SupplyChain.Suppliers",
"Name": "App.SupplyChain.Supplier.Import",
"ParentName": "App.SupplyChain.Supplier",
"DisplayName": "Import",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5595,8 +5595,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Suppliers.Activity",
"ParentName": "App.SupplyChain.Suppliers",
"Name": "App.SupplyChain.Supplier.Activity",
"ParentName": "App.SupplyChain.Supplier",
"DisplayName": "Activity",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5604,17 +5604,17 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Requests",
"Name": "App.SupplyChain.Request",
"ParentName": null,
"DisplayName": "App.SupplyChain.Requests",
"DisplayName": "App.SupplyChain.Request",
"IsEnabled": true,
"MultiTenancySide": 3,
"MenuGroup": "Erp"
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Requests.Create",
"ParentName": "App.SupplyChain.Requests",
"Name": "App.SupplyChain.Request.Create",
"ParentName": "App.SupplyChain.Request",
"DisplayName": "Create",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5622,8 +5622,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Requests.Update",
"ParentName": "App.SupplyChain.Requests",
"Name": "App.SupplyChain.Request.Update",
"ParentName": "App.SupplyChain.Request",
"DisplayName": "Update",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5631,8 +5631,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Requests.Delete",
"ParentName": "App.SupplyChain.Requests",
"Name": "App.SupplyChain.Request.Delete",
"ParentName": "App.SupplyChain.Request",
"DisplayName": "Delete",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5640,8 +5640,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Requests.Export",
"ParentName": "App.SupplyChain.Requests",
"Name": "App.SupplyChain.Request.Export",
"ParentName": "App.SupplyChain.Request",
"DisplayName": "Export",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5649,8 +5649,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Requests.Import",
"ParentName": "App.SupplyChain.Requests",
"Name": "App.SupplyChain.Request.Import",
"ParentName": "App.SupplyChain.Request",
"DisplayName": "Import",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5658,8 +5658,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Requests.Activity",
"ParentName": "App.SupplyChain.Requests",
"Name": "App.SupplyChain.Request.Activity",
"ParentName": "App.SupplyChain.Request",
"DisplayName": "Activity",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5667,17 +5667,17 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Quotations",
"Name": "App.SupplyChain.Quotation",
"ParentName": null,
"DisplayName": "App.SupplyChain.Quotations",
"DisplayName": "App.SupplyChain.Quotation",
"IsEnabled": true,
"MultiTenancySide": 3,
"MenuGroup": "Erp"
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Quotations.Create",
"ParentName": "App.SupplyChain.Quotations",
"Name": "App.SupplyChain.Quotation.Create",
"ParentName": "App.SupplyChain.Quotation",
"DisplayName": "Create",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5685,8 +5685,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Quotations.Update",
"ParentName": "App.SupplyChain.Quotations",
"Name": "App.SupplyChain.Quotation.Update",
"ParentName": "App.SupplyChain.Quotation",
"DisplayName": "Update",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5694,8 +5694,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Quotations.Delete",
"ParentName": "App.SupplyChain.Quotations",
"Name": "App.SupplyChain.Quotation.Delete",
"ParentName": "App.SupplyChain.Quotation",
"DisplayName": "Delete",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5703,8 +5703,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Quotations.Export",
"ParentName": "App.SupplyChain.Quotations",
"Name": "App.SupplyChain.Quotation.Export",
"ParentName": "App.SupplyChain.Quotation",
"DisplayName": "Export",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5712,8 +5712,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Quotations.Import",
"ParentName": "App.SupplyChain.Quotations",
"Name": "App.SupplyChain.Quotation.Import",
"ParentName": "App.SupplyChain.Quotation",
"DisplayName": "Import",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5721,8 +5721,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Quotations.Activity",
"ParentName": "App.SupplyChain.Quotations",
"Name": "App.SupplyChain.Quotation.Activity",
"ParentName": "App.SupplyChain.Quotation",
"DisplayName": "Activity",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5730,17 +5730,17 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Approvals",
"Name": "App.SupplyChain.Approval",
"ParentName": null,
"DisplayName": "App.SupplyChain.Approvals",
"DisplayName": "App.SupplyChain.Approval",
"IsEnabled": true,
"MultiTenancySide": 3,
"MenuGroup": "Erp"
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Approvals.Create",
"ParentName": "App.SupplyChain.Approvals",
"Name": "App.SupplyChain.Approval.Create",
"ParentName": "App.SupplyChain.Approval",
"DisplayName": "Create",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5748,8 +5748,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Approvals.Update",
"ParentName": "App.SupplyChain.Approvals",
"Name": "App.SupplyChain.Approval.Update",
"ParentName": "App.SupplyChain.Approval",
"DisplayName": "Update",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5757,8 +5757,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Approvals.Delete",
"ParentName": "App.SupplyChain.Approvals",
"Name": "App.SupplyChain.Approval.Delete",
"ParentName": "App.SupplyChain.Approval",
"DisplayName": "Delete",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5766,8 +5766,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Approvals.Export",
"ParentName": "App.SupplyChain.Approvals",
"Name": "App.SupplyChain.Approval.Export",
"ParentName": "App.SupplyChain.Approval",
"DisplayName": "Export",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5775,8 +5775,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Approvals.Import",
"ParentName": "App.SupplyChain.Approvals",
"Name": "App.SupplyChain.Approval.Import",
"ParentName": "App.SupplyChain.Approval",
"DisplayName": "Import",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5784,8 +5784,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Approvals.Activity",
"ParentName": "App.SupplyChain.Approvals",
"Name": "App.SupplyChain.Approval.Activity",
"ParentName": "App.SupplyChain.Approval",
"DisplayName": "Activity",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5793,17 +5793,17 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Orders",
"Name": "App.SupplyChain.Order",
"ParentName": null,
"DisplayName": "App.SupplyChain.Orders",
"DisplayName": "App.SupplyChain.Order",
"IsEnabled": true,
"MultiTenancySide": 3,
"MenuGroup": "Erp"
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Orders.Create",
"ParentName": "App.SupplyChain.Orders",
"Name": "App.SupplyChain.Order.Create",
"ParentName": "App.SupplyChain.Order",
"DisplayName": "Create",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5811,8 +5811,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Orders.Update",
"ParentName": "App.SupplyChain.Orders",
"Name": "App.SupplyChain.Order.Update",
"ParentName": "App.SupplyChain.Order",
"DisplayName": "Update",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5820,8 +5820,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Orders.Delete",
"ParentName": "App.SupplyChain.Orders",
"Name": "App.SupplyChain.Order.Delete",
"ParentName": "App.SupplyChain.Order",
"DisplayName": "Delete",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5829,8 +5829,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Orders.Export",
"ParentName": "App.SupplyChain.Orders",
"Name": "App.SupplyChain.Order.Export",
"ParentName": "App.SupplyChain.Order",
"DisplayName": "Export",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5838,8 +5838,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Orders.Import",
"ParentName": "App.SupplyChain.Orders",
"Name": "App.SupplyChain.Order.Import",
"ParentName": "App.SupplyChain.Order",
"DisplayName": "Import",
"IsEnabled": true,
"MultiTenancySide": 3,
@ -5847,8 +5847,8 @@
},
{
"GroupName": "App.SupplyChain",
"Name": "App.SupplyChain.Orders.Activity",
"ParentName": "App.SupplyChain.Orders",
"Name": "App.SupplyChain.Order.Activity",
"ParentName": "App.SupplyChain.Order",
"DisplayName": "Activity",
"IsEnabled": true,
"MultiTenancySide": 3,

View file

@ -3,7 +3,7 @@ using static Kurs.Platform.PlatformConsts;
namespace Kurs.Platform;
public static class LookUpQueryValues
public static class LookupQueryValues
{
public static string LanguageKeyValues =
$"SELECT " +
@ -300,4 +300,11 @@ public static class LookUpQueryValues
$"\"Title\" AS \"Name\" " +
$"FROM \"{FullNameTable(TableNameEnum.Survey)}\" " +
$"WHERE \"IsDeleted\" = 'false' ";
public static string MaterialGroupValues =
$"SELECT " +
$"\"Id\" AS \"Key\", " +
$"\"Name\" AS \"Name\" " +
$"FROM \"{FullNameTable(TableNameEnum.MaterialGroup)}\" " +
$"WHERE \"IsDeleted\" = 'false' ";
}

View file

@ -11,7 +11,7 @@ public enum MenuPrefix
Participant,
Coordinator,
Crm,
Supplychain,
SupplyChain,
Maintenance,
Warehouse,
Project,
@ -33,7 +33,7 @@ public static class MenuPrefixExtensions
MenuPrefix.Participant => "Prt",
MenuPrefix.Coordinator => "Crd",
MenuPrefix.Crm => "Crm",
MenuPrefix.Supplychain => "Scp",
MenuPrefix.SupplyChain => "Scp",
MenuPrefix.Maintenance => "Mnt",
MenuPrefix.Warehouse => "Wh",
MenuPrefix.Project => "Prj",

View file

@ -134,5 +134,7 @@ public enum TableNameEnum
SocialMedia,
SocialPollOption,
SocialComment,
SocialLike
SocialLike,
MaterialType,
MaterialGroup
}

View file

@ -540,6 +540,14 @@ public static class PlatformConsts
public const string SurveyQuestionOption = "list-surveyquestionoption";
public const string SurveyResponse = "list-surveyresponse";
public const string SocialPost = "list-socialpost";
//Supply Chain
public const string MaterialType = "list-materialtype";
public const string MaterialGroup = "list-materialgroup";
// public const string Supplier = "list-supplier";
// public const string PurchaseOrder = "list-purchaseorder";
// public const string Inventory = "list-inventory";
}
}

View file

@ -155,6 +155,10 @@ public static class TableNameResolver
{ nameof(TableNameEnum.SocialComment), (PlatformConsts.TablePrefix.TenantByName, MenuPrefix.Intranet) },
{ nameof(TableNameEnum.SocialLike), (PlatformConsts.TablePrefix.TenantByName, MenuPrefix.Intranet) },
//Supply Chain
{ nameof(TableNameEnum.MaterialType), (PlatformConsts.TablePrefix.TenantByName, MenuPrefix.SupplyChain) },
{ nameof(TableNameEnum.MaterialGroup), (PlatformConsts.TablePrefix.TenantByName, MenuPrefix.SupplyChain) },
// 🔹 ACCOUNTING
{ nameof(TableNameEnum.Bank), (PlatformConsts.TablePrefix.TenantByName, MenuPrefix.Accounting) },
{ nameof(TableNameEnum.BankAccount), (PlatformConsts.TablePrefix.TenantByName, MenuPrefix.Accounting) },

View file

@ -483,6 +483,13 @@ public static class SeedConsts
public const string SurveyResponse = Default + ".SurveyResponse";
}
public static class SupplyChain
{
public const string Default = Prefix.App + ".SupplyChain";
public const string MaterialType = Default + ".MaterialType";
public const string MaterialGroup = Default + ".MaterialGroup";
}
public static class Accounting
{
public const string Default = Prefix.App + ".Accounting";

View file

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
namespace Kurs.Platform.Entities;
public class MaterialGroup : FullAuditedEntity<Guid>, IMultiTenant
{
public Guid? TenantId { get; set; }
public string Code { get; set; }
public string Name { get; set; }
public Guid? ParentGroupId { get; set; }
public MaterialGroup ParentGroup { get; set; }
public ICollection<MaterialGroup> SubGroups { get; set; }
public string Description { get; set; }
public bool IsActive { get; set; }
}

View file

@ -0,0 +1,16 @@
// Domain/Entities/MmMaterialType.cs
using System;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
namespace Kurs.Platform.Entities;
public class MaterialType : FullAuditedEntity<Guid>, IMultiTenant
{
public Guid? TenantId { get; set; }
public string Code { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public bool IsActive { get; set; }
}

View file

@ -202,6 +202,11 @@ public class PlatformDbContext :
public DbSet<SocialLike> SocialLikes { get; set; }
#endregion
#region Supply Chain
public DbSet<MaterialType> MaterialTypes { get; set; }
public DbSet<MaterialGroup> MaterialGroups { get; set; }
#endregion
public PlatformDbContext(DbContextOptions<PlatformDbContext> options)
: base(options)
{
@ -2169,7 +2174,6 @@ public class PlatformDbContext :
.OnDelete(DeleteBehavior.Cascade);
});
// 🔹 SocialComment
builder.Entity<SocialComment>(b =>
{
b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.SocialComment)), Prefix.DbSchema);
@ -2183,7 +2187,6 @@ public class PlatformDbContext :
.OnDelete(DeleteBehavior.Cascade);
});
// 🔹 SocialLike
builder.Entity<SocialLike>(b =>
{
b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.SocialLike)), Prefix.DbSchema);
@ -2194,5 +2197,33 @@ public class PlatformDbContext :
.HasForeignKey(x => x.SocialPostId)
.OnDelete(DeleteBehavior.Cascade);
});
//Supply Chain
builder.Entity<MaterialType>(b =>
{
b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.MaterialType)), Prefix.DbSchema);
b.ConfigureByConvention();
b.Property(x => x.Code).IsRequired().HasMaxLength(50);
b.Property(x => x.Name).IsRequired().HasMaxLength(100);
b.Property(x => x.Description).HasMaxLength(500);
b.Property(x => x.IsActive).HasDefaultValue(true);
});
builder.Entity<MaterialGroup>(b =>
{
b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.MaterialGroup)), Prefix.DbSchema);
b.ConfigureByConvention();
b.Property(x => x.Code).IsRequired().HasMaxLength(50);
b.Property(x => x.Name).IsRequired().HasMaxLength(100);
b.Property(x => x.Description).HasMaxLength(500);
b.Property(x => x.IsActive).HasDefaultValue(true);
b.HasOne(x => x.ParentGroup)
.WithMany(x => x.SubGroups)
.HasForeignKey(x => x.ParentGroupId)
.OnDelete(DeleteBehavior.Restrict);
});
}
}

View file

@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore;
namespace Kurs.Platform.Migrations
{
[DbContext(typeof(PlatformDbContext))]
[Migration("20251029185945_Initial")]
[Migration("20251030104555_Initial")]
partial class Initial
{
/// <inheritdoc />
@ -5401,6 +5401,137 @@ namespace Kurs.Platform.Migrations
b.ToTable("P_Sas_ListFormImportExecute", (string)null);
});
modelBuilder.Entity("Kurs.Platform.Entities.MaterialGroup", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<string>("Code")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<string>("Description")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property<bool>("IsActive")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(true);
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property<Guid?>("ParentGroupId")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("TenantId")
.HasColumnType("uniqueidentifier")
.HasColumnName("TenantId");
b.HasKey("Id");
b.HasIndex("ParentGroupId");
b.ToTable("T_Scp_MaterialGroup", (string)null);
});
modelBuilder.Entity("Kurs.Platform.Entities.MaterialType", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<string>("Code")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<string>("Description")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property<bool>("IsActive")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(true);
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property<Guid?>("TenantId")
.HasColumnType("uniqueidentifier")
.HasColumnName("TenantId");
b.HasKey("Id");
b.ToTable("T_Scp_MaterialType", (string)null);
});
modelBuilder.Entity("Kurs.Platform.Entities.Meal", b =>
{
b.Property<Guid>("Id")
@ -11872,6 +12003,16 @@ namespace Kurs.Platform.Migrations
.IsRequired();
});
modelBuilder.Entity("Kurs.Platform.Entities.MaterialGroup", b =>
{
b.HasOne("Kurs.Platform.Entities.MaterialGroup", "ParentGroup")
.WithMany("SubGroups")
.HasForeignKey("ParentGroupId")
.OnDelete(DeleteBehavior.Restrict);
b.Navigation("ParentGroup");
});
modelBuilder.Entity("Kurs.Platform.Entities.OrderItem", b =>
{
b.HasOne("Kurs.Platform.Entities.Order", "Order")
@ -12462,6 +12603,11 @@ namespace Kurs.Platform.Migrations
b.Navigation("Events");
});
modelBuilder.Entity("Kurs.Platform.Entities.MaterialGroup", b =>
{
b.Navigation("SubGroups");
});
modelBuilder.Entity("Kurs.Platform.Entities.Order", b =>
{
b.Navigation("Items");

View file

@ -2302,6 +2302,59 @@ namespace Kurs.Platform.Migrations
table.PrimaryKey("PK_T_Sas_Sector", x => x.Id);
});
migrationBuilder.CreateTable(
name: "T_Scp_MaterialGroup",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
Code = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
Name = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: false),
ParentGroupId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
Description = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
IsActive = table.Column<bool>(type: "bit", nullable: false, defaultValue: true),
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_T_Scp_MaterialGroup", x => x.Id);
table.ForeignKey(
name: "FK_T_Scp_MaterialGroup_T_Scp_MaterialGroup_ParentGroupId",
column: x => x.ParentGroupId,
principalTable: "T_Scp_MaterialGroup",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
name: "T_Scp_MaterialType",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
Code = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
Name = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: false),
Description = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
IsActive = table.Column<bool>(type: "bit", nullable: false, defaultValue: true),
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_T_Scp_MaterialType", x => x.Id);
});
migrationBuilder.CreateTable(
name: "AbpAuditLogActions",
columns: table => new
@ -5531,6 +5584,11 @@ namespace Kurs.Platform.Migrations
table: "T_Sas_ReportTemplate",
column: "CategoryId");
migrationBuilder.CreateIndex(
name: "IX_T_Scp_MaterialGroup_ParentGroupId",
table: "T_Scp_MaterialGroup",
column: "ParentGroupId");
migrationBuilder.AddForeignKey(
name: "FK_T_Hr_CostCenter_T_Hr_Department_DepartmentId",
table: "T_Hr_CostCenter",
@ -5928,6 +5986,12 @@ namespace Kurs.Platform.Migrations
migrationBuilder.DropTable(
name: "T_Sas_Sector");
migrationBuilder.DropTable(
name: "T_Scp_MaterialGroup");
migrationBuilder.DropTable(
name: "T_Scp_MaterialType");
migrationBuilder.DropTable(
name: "AbpEntityChanges");

View file

@ -5398,6 +5398,137 @@ namespace Kurs.Platform.Migrations
b.ToTable("P_Sas_ListFormImportExecute", (string)null);
});
modelBuilder.Entity("Kurs.Platform.Entities.MaterialGroup", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<string>("Code")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<string>("Description")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property<bool>("IsActive")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(true);
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property<Guid?>("ParentGroupId")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("TenantId")
.HasColumnType("uniqueidentifier")
.HasColumnName("TenantId");
b.HasKey("Id");
b.HasIndex("ParentGroupId");
b.ToTable("T_Scp_MaterialGroup", (string)null);
});
modelBuilder.Entity("Kurs.Platform.Entities.MaterialType", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<string>("Code")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<string>("Description")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property<bool>("IsActive")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(true);
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property<Guid?>("TenantId")
.HasColumnType("uniqueidentifier")
.HasColumnName("TenantId");
b.HasKey("Id");
b.ToTable("T_Scp_MaterialType", (string)null);
});
modelBuilder.Entity("Kurs.Platform.Entities.Meal", b =>
{
b.Property<Guid>("Id")
@ -11869,6 +12000,16 @@ namespace Kurs.Platform.Migrations
.IsRequired();
});
modelBuilder.Entity("Kurs.Platform.Entities.MaterialGroup", b =>
{
b.HasOne("Kurs.Platform.Entities.MaterialGroup", "ParentGroup")
.WithMany("SubGroups")
.HasForeignKey("ParentGroupId")
.OnDelete(DeleteBehavior.Restrict);
b.Navigation("ParentGroup");
});
modelBuilder.Entity("Kurs.Platform.Entities.OrderItem", b =>
{
b.HasOne("Kurs.Platform.Entities.Order", "Order")
@ -12459,6 +12600,11 @@ namespace Kurs.Platform.Migrations
b.Navigation("Events");
});
modelBuilder.Entity("Kurs.Platform.Entities.MaterialGroup", b =>
{
b.Navigation("SubGroups");
});
modelBuilder.Entity("Kurs.Platform.Entities.Order", b =>
{
b.Navigation("Items");

View file

@ -3781,7 +3781,7 @@
"employeeCode": "EMP-001",
"purpose": "İş Ortaklığı Görüşmesi",
"status": "checked-in",
"photo": "https://i.pravatar.cc/150?img=12"
"photo": "https://i.pravatar.cc/150?img=12"
},
{
"fullName": "Fatma Yıldız",
@ -4181,5 +4181,80 @@
"postContent": "Yeni tasarım sistemimizin ilk prototipini hazırladık! Kullanıcı deneyimini iyileştirmek için çok çalıştık. Geri bildirimlerinizi bekliyorum! 🎨",
"employeeCode": "EMP-003"
}
],
"MaterialTypes": [
{
"code": "RAW",
"name": "Hammadde",
"description": "Üretimde kullanılan temel malzemeler",
"isActive": true
},
{
"code": "SEMI",
"name": "Yarı Mamul",
"description": "Kısmen işlenmiş ürünler",
"isActive": true
},
{
"code": "FINISHED",
"name": "Mamul",
"description": "Satışa hazır nihai ürünler",
"isActive": true
},
{
"code": "CONSUMABLE",
"name": "Sarf Malzemesi",
"description": "Tüketilen yardımcı malzemeler",
"isActive": true
},
{
"code": "SERVICE",
"name": "Hizmet",
"description": "Hizmet türü kalemler",
"isActive": true
},
{
"code": "SPARE",
"name": "Yedek Parça",
"description": "Bakım ve onarım parçaları",
"isActive": true
}
],
"MaterialGroups": [
{
"code": "METAL",
"name": "Metal Malzemeler",
"description": "Çelik, alüminyum gibi metal ürün grupları.",
"isActive": true
},
{
"code": "MOTOR",
"name": "Elektrik Motorları",
"description": "AC, DC ve servo motor grupları.",
"isActive": true
},
{
"code": "PLASTIK",
"name": "Plastik Malzemeler",
"isActive": true
},
{
"code": "KIMYA",
"name": "Kimyasal Maddeler",
"description": "Yağlar, solventler ve diğer kimyasallar.",
"isActive": true
},
{
"code": "YARI-MAMUL",
"name": "Yarı Mamuller",
"parentGroupCode": "METAL",
"isActive": true
},
{
"code": "MAMUL",
"name": "Mamuller",
"parentGroupCode": "METAL",
"isActive": true
}
]
}

View file

@ -90,7 +90,8 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
private readonly IRepository<SocialPollOption, Guid> _socialPollOptionRepository;
private readonly IRepository<SocialComment, Guid> _socialCommentRepository;
private readonly IRepository<SocialLike, Guid> _socialLikeRepository;
private readonly IRepository<Meal, Guid> _mealMenuRepository;
private readonly IRepository<MaterialType, Guid> _materialTypeRepository;
private readonly IRepository<MaterialGroup, Guid> _materialGroupRepository;
public TenantDataSeeder(
IRepository<IdentityUser, Guid> repositoryUser,
@ -165,7 +166,8 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
IRepository<SocialPollOption, Guid> socialPollOptionRepository,
IRepository<SocialComment, Guid> socialCommentRepository,
IRepository<SocialLike, Guid> socialLikeRepository,
IRepository<Meal, Guid> mealMenuRepository
IRepository<MaterialType, Guid> materialTypeRepository,
IRepository<MaterialGroup, Guid> materialGroupRepository
)
{
_repositoryUser = repositoryUser;
@ -241,7 +243,8 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
_socialPollOptionRepository = socialPollOptionRepository;
_socialCommentRepository = socialCommentRepository;
_socialLikeRepository = socialLikeRepository;
_mealMenuRepository = mealMenuRepository;
_materialTypeRepository = materialTypeRepository;
_materialGroupRepository = materialGroupRepository;
}
private static IConfigurationRoot BuildConfiguration()
@ -1595,5 +1598,41 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
});
}
}
//Supply Chain
foreach (var item in items.MaterialTypes)
{
var exists = await _materialTypeRepository.AnyAsync(x => x.Code == item.Code);
if (!exists)
{
await _materialTypeRepository.InsertAsync(new MaterialType
{
Code = item.Code,
Name = item.Name,
Description = item.Description,
IsActive = item.IsActive
}, autoSave: true);
}
}
foreach (var item in items.MaterialGroups)
{
var exists = await _materialGroupRepository.AnyAsync(x => x.Code == item.Code);
if (!exists)
{
var parentGroup = await _materialGroupRepository.FirstOrDefaultAsync(x => x.Code == item.ParentGroupCode);
await _materialGroupRepository.InsertAsync(new MaterialGroup
{
Code = item.Code,
Name = item.Name,
Description = item.Description,
IsActive = item.IsActive,
ParentGroupId = parentGroup != null ? parentGroup.Id : null
}, autoSave: true);
}
}
}
}

View file

@ -52,6 +52,10 @@ public class TenantSeederDto
public List<InterestingSeedDto> Interesting { get; set; }
public List<ProgramSeedDto> Programs { get; set; }
//Supply Chain
public List<MaterialTypeSeedDto> MaterialTypes { get; set; }
public List<MaterialGroupSeedDto> MaterialGroups { get; set; }
//Hr
public List<EmployeeTypeSeedDto> EmployeeTypes { get; set; }
public List<JobPositionSeedDto> JobPositions { get; set; }
@ -81,6 +85,23 @@ public class TenantSeederDto
public List<SocialLikeSeedDto> SocialLikes { get; set; }
}
public class MaterialTypeSeedDto
{
public string Code { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public bool IsActive { get; set; }
}
public class MaterialGroupSeedDto
{
public string Code { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string ParentGroupCode { get; set; }
public bool IsActive { get; set; }
}
public class EventCommentSeedDto
{
public string EventName { get; set; }

View file

@ -443,9 +443,9 @@ const useListFormColumns = ({
// grouping
column.allowGrouping = colData.columnGroupingDto?.allowGrouping
//if (colData.columnGroupingDto?.groupIndex > 0)
// column.groupIndex = colData.columnGroupingDto?.groupIndex;
//column.autoExpandGroup = colData.columnGroupingDto?.autoExpandGroup;
column.autoExpandGroup = colData.columnGroupingDto?.autoExpandGroup
if (colData.columnGroupingDto.groupIndex)
column.groupIndex = colData.columnGroupingDto?.groupIndex
// constsa dinamik olarak css verilerini ekle
if (colData.columnCssClass) {

View file

@ -1,5 +1,5 @@
import { DepartmentDto } from '@/proxy/intranet/models'
import { Address, BusinessParty, PaymentTerms, PriorityEnum } from './common'
import { DepartmentDto } from './hr'
import { WmWarehouse, WmZone, WmLocation } from './wm'
export interface MmMaterial {

View file

@ -261,7 +261,7 @@ function RolesPermission({
<h5 className="mb-1">
{translate('::Permission')} - {name}
</h5>
<hr className="mt-1 mb-1"></hr>
<hr className="mt-1 mb-2"></hr>
<div className="flex flex-col md:flex-row gap-4 mb-1">
<div style={{ width: '30%' }}>

View file

@ -221,7 +221,7 @@ function UsersPermission({
<h5 className="mb-4">
{translate('::Permission')} - {name}
</h5>
<hr className="mt-2 mb-2"></hr>
<hr className="mt-1 mb-2"></hr>
<div className="flex flex-col md:flex-row gap-4">
<div style={{ width: '30%' }}>