From e14f34a107f14c56cc564dc67ad0b8f250a35df8 Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Tue, 18 Mar 2025 15:22:30 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BA=BF=E8=BE=B9=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MaterialPartsCategoriesController.cs | 110 ++++++++++ .../MaterialPartsInventoryController.cs | 136 ++++++++++++ ...MaterialPartsStorageLocationsController.cs | 119 +++++++++++ .../MaterialPartsSuppliersController.cs | 118 ++++++++++ .../MaterialPartsTransactionsController.cs | 109 ++++++++++ .../Material/MaterialSparePartsController.cs | 120 +++++++++++ .../Dto/MaterialPartsCategoriesDto.cs | 33 +++ .../Material/Dto/MaterialPartsInventoryDto.cs | 74 +++++++ .../Dto/MaterialPartsStorageLocationsDto.cs | 35 +++ .../Material/Dto/MaterialPartsSuppliersDto.cs | 38 ++++ .../Dto/MaterialPartsTransactionsDto.cs | 47 ++++ .../MES/Material/Dto/MaterialSparePartsDto.cs | 50 +++++ .../MES/Material/MaterialPartsCategories.cs | 41 ++++ .../MES/Material/MaterialPartsInventory.cs | 51 +++++ .../Material/MaterialPartsStorageLocations.cs | 46 ++++ .../MES/Material/MaterialPartsSuppliers.cs | 56 +++++ .../MES/Material/MaterialPartsTransactions.cs | 57 +++++ DOAN.Model/MES/Material/MaterialSpareParts.cs | 71 +++++++ .../IMaterialPartsCategoriesService.cs | 24 +++ .../IMaterialPartsInventoryService.cs | 30 +++ .../IMaterialPartsStorageLocationsService.cs | 27 +++ .../IMaterialPartsSuppliersService.cs | 26 +++ .../IMaterialPartsTransactionsService.cs | 24 +++ .../IService/IMaterialSparePartsService.cs | 26 +++ .../MaterialPartsCategoriesService.cs | 83 ++++++++ .../Material/MaterialPartsInventoryService.cs | 201 ++++++++++++++++++ .../MaterialPartsStorageLocationsService.cs | 89 ++++++++ .../Material/MaterialPartsSuppliersService.cs | 96 +++++++++ .../MaterialPartsTransactionsService.cs | 85 ++++++++ .../MES/Material/MaterialSparePartsService.cs | 99 +++++++++ .../MES/Order/DeliveryScheduleService.cs | 5 - 31 files changed, 2121 insertions(+), 5 deletions(-) create mode 100644 DOAN.Admin.WebApi/Controllers/MES/Material/MaterialPartsCategoriesController.cs create mode 100644 DOAN.Admin.WebApi/Controllers/MES/Material/MaterialPartsInventoryController.cs create mode 100644 DOAN.Admin.WebApi/Controllers/MES/Material/MaterialPartsStorageLocationsController.cs create mode 100644 DOAN.Admin.WebApi/Controllers/MES/Material/MaterialPartsSuppliersController.cs create mode 100644 DOAN.Admin.WebApi/Controllers/MES/Material/MaterialPartsTransactionsController.cs create mode 100644 DOAN.Admin.WebApi/Controllers/MES/Material/MaterialSparePartsController.cs create mode 100644 DOAN.Model/MES/Material/Dto/MaterialPartsCategoriesDto.cs create mode 100644 DOAN.Model/MES/Material/Dto/MaterialPartsInventoryDto.cs create mode 100644 DOAN.Model/MES/Material/Dto/MaterialPartsStorageLocationsDto.cs create mode 100644 DOAN.Model/MES/Material/Dto/MaterialPartsSuppliersDto.cs create mode 100644 DOAN.Model/MES/Material/Dto/MaterialPartsTransactionsDto.cs create mode 100644 DOAN.Model/MES/Material/Dto/MaterialSparePartsDto.cs create mode 100644 DOAN.Model/MES/Material/MaterialPartsCategories.cs create mode 100644 DOAN.Model/MES/Material/MaterialPartsInventory.cs create mode 100644 DOAN.Model/MES/Material/MaterialPartsStorageLocations.cs create mode 100644 DOAN.Model/MES/Material/MaterialPartsSuppliers.cs create mode 100644 DOAN.Model/MES/Material/MaterialPartsTransactions.cs create mode 100644 DOAN.Model/MES/Material/MaterialSpareParts.cs create mode 100644 DOAN.Service/MES/Material/IService/IMaterialPartsCategoriesService.cs create mode 100644 DOAN.Service/MES/Material/IService/IMaterialPartsInventoryService.cs create mode 100644 DOAN.Service/MES/Material/IService/IMaterialPartsStorageLocationsService.cs create mode 100644 DOAN.Service/MES/Material/IService/IMaterialPartsSuppliersService.cs create mode 100644 DOAN.Service/MES/Material/IService/IMaterialPartsTransactionsService.cs create mode 100644 DOAN.Service/MES/Material/IService/IMaterialSparePartsService.cs create mode 100644 DOAN.Service/MES/Material/MaterialPartsCategoriesService.cs create mode 100644 DOAN.Service/MES/Material/MaterialPartsInventoryService.cs create mode 100644 DOAN.Service/MES/Material/MaterialPartsStorageLocationsService.cs create mode 100644 DOAN.Service/MES/Material/MaterialPartsSuppliersService.cs create mode 100644 DOAN.Service/MES/Material/MaterialPartsTransactionsService.cs create mode 100644 DOAN.Service/MES/Material/MaterialSparePartsService.cs diff --git a/DOAN.Admin.WebApi/Controllers/MES/Material/MaterialPartsCategoriesController.cs b/DOAN.Admin.WebApi/Controllers/MES/Material/MaterialPartsCategoriesController.cs new file mode 100644 index 0000000..f6e4a16 --- /dev/null +++ b/DOAN.Admin.WebApi/Controllers/MES/Material/MaterialPartsCategoriesController.cs @@ -0,0 +1,110 @@ +using Microsoft.AspNetCore.Mvc; +using DOAN.Model.Dto; + +using DOAN.Admin.WebApi.Filters; +using DOAN.Model.MES.material; +using DOAN.Model.MES.material.Dto; +using DOAN.Service.MES.material.IService; + +//创建时间:2024-12-30 +namespace DOAN.Admin.WebApi.Controllers +{ + /// + /// 北泽线边库分类 + /// + [Verify] + [Route("mes/materialManagement/Parts/MaterialPartsCategories")] + public class MaterialPartsCategoriesController : BaseController + { + /// + /// 北泽线边库分类接口 + /// + private readonly IMaterialPartsCategoriesService _MaterialPartsCategoriesService; + + public MaterialPartsCategoriesController(IMaterialPartsCategoriesService MaterialPartsCategoriesService) + { + _MaterialPartsCategoriesService = MaterialPartsCategoriesService; + } + + /// + /// 查询北泽线边库分类列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartscategories:list")] + public IActionResult QueryMaterialPartsCategories([FromQuery] MaterialPartsCategoriesQueryDto parm) + { + var response = _MaterialPartsCategoriesService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询北泽线边库分类详情 + /// + /// + /// + [HttpGet("{CategoryId}")] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartscategories:query")] + public IActionResult GetMaterialPartsCategories(int CategoryId) + { + var response = _MaterialPartsCategoriesService.GetInfo(CategoryId); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加北泽线边库分类 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartscategories:add")] + [Log(Title = "北泽线边库分类", BusinessType = BusinessType.INSERT)] + public IActionResult AddMaterialPartsCategories([FromBody] MaterialPartsCategoriesDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _MaterialPartsCategoriesService.AddMaterialPartsCategories(modal); + + return SUCCESS(response); + } + + /// + /// 更新北泽线边库分类 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartscategories:edit")] + [Log(Title = "北泽线边库分类", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateMaterialPartsCategories([FromBody] MaterialPartsCategoriesDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _MaterialPartsCategoriesService.UpdateMaterialPartsCategories(modal); + + return ToResponse(response); + } + + /// + /// 删除北泽线边库分类 + /// + /// + [HttpDelete("{ids}")] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartscategories:delete")] + [Log(Title = "北泽线边库分类", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteMaterialPartsCategories(string ids) + { + int[] idsArr = Tools.SpitIntArrary(ids); + if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } + + var response = _MaterialPartsCategoriesService.Delete(idsArr); + + return ToResponse(response); + } + + + + + } +} \ No newline at end of file diff --git a/DOAN.Admin.WebApi/Controllers/MES/Material/MaterialPartsInventoryController.cs b/DOAN.Admin.WebApi/Controllers/MES/Material/MaterialPartsInventoryController.cs new file mode 100644 index 0000000..83dd466 --- /dev/null +++ b/DOAN.Admin.WebApi/Controllers/MES/Material/MaterialPartsInventoryController.cs @@ -0,0 +1,136 @@ +using Microsoft.AspNetCore.Mvc; +using DOAN.Model.Dto; + +using DOAN.Admin.WebApi.Filters; +using DOAN.Model.MES.material; +using DOAN.Model.MES.material.Dto; +using DOAN.Service.MES.material.IService; + +//创建时间:2024-12-30 +namespace DOAN.Admin.WebApi.Controllers +{ + /// + /// 库存信息表 + /// + [Verify] + [Route("mes/materialManagement/Parts/MaterialPartsInventory")] + public class MaterialPartsInventoryController : BaseController + { + /// + /// 库存信息表接口 + /// + private readonly IMaterialPartsInventoryService _MaterialPartsInventoryService; + + public MaterialPartsInventoryController(IMaterialPartsInventoryService MaterialPartsInventoryService) + { + _MaterialPartsInventoryService = MaterialPartsInventoryService; + } + + /// + /// 查询库存信息表列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartsinventory:list")] + public IActionResult QueryMaterialPartsInventory([FromQuery] MaterialPartsInventoryQueryDto parm) + { + var response = _MaterialPartsInventoryService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询库存信息表详情 + /// + /// + /// + [HttpGet("{InventoryId}")] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartsinventory:query")] + public IActionResult GetMaterialPartsInventory(int InventoryId) + { + var response = _MaterialPartsInventoryService.GetInfo(InventoryId); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加库存信息表 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartsinventory:add")] + [Log(Title = "库存信息表", BusinessType = BusinessType.INSERT)] + public IActionResult AddMaterialPartsInventory([FromBody] MaterialPartsInventoryDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _MaterialPartsInventoryService.AddMaterialPartsInventory(modal); + + return SUCCESS(response); + } + + /// + /// 更新库存信息表 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartsinventory:edit")] + [Log(Title = "库存信息表", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateMaterialPartsInventory([FromBody] MaterialPartsInventoryDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _MaterialPartsInventoryService.UpdateMaterialPartsInventory(modal); + + return ToResponse(response); + } + + /// + /// 删除库存信息表 + /// + /// + [HttpDelete("{ids}")] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartsinventory:delete")] + [Log(Title = "库存信息表", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteMaterialPartsInventory(string ids) + { + int[] idsArr = Tools.SpitIntArrary(ids); + if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } + + var response = _MaterialPartsInventoryService.Delete(idsArr); + + return ToResponse(response); + } + + //TODO 入库 + [HttpPost("entryInventory")] + public IActionResult EntryInventory([FromBody] MaterialPartsInventoryDto parm) + { + var response = _MaterialPartsInventoryService.EntryInventory(parm,HttpContext.GetNickName(),parm.SupplierId); + return SUCCESS(response); + } + + + //TODO 出库 + [HttpPost("OutInventory")] + public IActionResult OutInventory([FromBody] MaterialPartsInventoryDto parm) + { + var response = _MaterialPartsInventoryService.OutInventory(parm,HttpContext.GetNickName()); + return SUCCESS(response); + } + + + + //TODO 盘点 + [HttpPost("CheckInventory")] + public IActionResult CheckInventory([FromBody] MaterialPartsInventoryDto parm) + { + var response = _MaterialPartsInventoryService.CheckInventory(parm,HttpContext.GetNickName()); + return SUCCESS(response); + } + + + + } +} \ No newline at end of file diff --git a/DOAN.Admin.WebApi/Controllers/MES/Material/MaterialPartsStorageLocationsController.cs b/DOAN.Admin.WebApi/Controllers/MES/Material/MaterialPartsStorageLocationsController.cs new file mode 100644 index 0000000..8805be3 --- /dev/null +++ b/DOAN.Admin.WebApi/Controllers/MES/Material/MaterialPartsStorageLocationsController.cs @@ -0,0 +1,119 @@ +using Microsoft.AspNetCore.Mvc; +using DOAN.Model.Dto; + +using DOAN.Admin.WebApi.Filters; +using DOAN.Model.MES.material; +using DOAN.Model.MES.material.Dto; +using DOAN.Service.MES.material.IService; + +//创建时间:2024-12-30 +namespace DOAN.Admin.WebApi.Controllers +{ + /// + /// 北泽线边库库位 + /// + [Verify] + [Route("mes/materialManagement/Parts/MaterialPartsStorageLocations")] + public class MaterialPartsStorageLocationsController : BaseController + { + /// + /// 北泽线边库库位接口 + /// + private readonly IMaterialPartsStorageLocationsService _MaterialPartsStorageLocationsService; + + public MaterialPartsStorageLocationsController(IMaterialPartsStorageLocationsService MaterialPartsStorageLocationsService) + { + _MaterialPartsStorageLocationsService = MaterialPartsStorageLocationsService; + } + + /// + /// 查询北泽线边库库位列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartsstoragelocations:list")] + public IActionResult QueryMaterialPartsStorageLocations([FromQuery] MaterialPartsStorageLocationsQueryDto parm) + { + var response = _MaterialPartsStorageLocationsService.GetList(parm); + return SUCCESS(response); + } + + //TODO 查询北泽线边库库位编号 + [HttpGet("list_location_code")] + public IActionResult QueryMaterialPartsStorageLocationsLocationCode(string query) + { + var response = _MaterialPartsStorageLocationsService.QueryMaterialPartsStorageLocationsLocationCode(query); + + return SUCCESS(response); + } + + + /// + /// 查询北泽线边库库位详情 + /// + /// + /// + [HttpGet("{LocationId}")] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartsstoragelocations:query")] + public IActionResult GetMaterialPartsStorageLocations(int LocationId) + { + var response = _MaterialPartsStorageLocationsService.GetInfo(LocationId); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加北泽线边库库位 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartsstoragelocations:add")] + [Log(Title = "北泽线边库库位", BusinessType = BusinessType.INSERT)] + public IActionResult AddMaterialPartsStorageLocations([FromBody] MaterialPartsStorageLocationsDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _MaterialPartsStorageLocationsService.AddMaterialPartsStorageLocations(modal); + + return SUCCESS(response); + } + + /// + /// 更新北泽线边库库位 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartsstoragelocations:edit")] + [Log(Title = "北泽线边库库位", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateMaterialPartsStorageLocations([FromBody] MaterialPartsStorageLocationsDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _MaterialPartsStorageLocationsService.UpdateMaterialPartsStorageLocations(modal); + + return ToResponse(response); + } + + /// + /// 删除北泽线边库库位 + /// + /// + [HttpDelete("{ids}")] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartsstoragelocations:delete")] + [Log(Title = "北泽线边库库位", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteMaterialPartsStorageLocations(string ids) + { + int[] idsArr = Tools.SpitIntArrary(ids); + if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } + + var response = _MaterialPartsStorageLocationsService.Delete(idsArr); + + return ToResponse(response); + } + + + + + } +} \ No newline at end of file diff --git a/DOAN.Admin.WebApi/Controllers/MES/Material/MaterialPartsSuppliersController.cs b/DOAN.Admin.WebApi/Controllers/MES/Material/MaterialPartsSuppliersController.cs new file mode 100644 index 0000000..6352f8c --- /dev/null +++ b/DOAN.Admin.WebApi/Controllers/MES/Material/MaterialPartsSuppliersController.cs @@ -0,0 +1,118 @@ +using Microsoft.AspNetCore.Mvc; +using DOAN.Model.Dto; +using DOAN.Admin.WebApi.Filters; +using DOAN.Model.MES.material; +using DOAN.Model.MES.material.Dto; +using DOAN.Service.MES.material.IService; + +//创建时间:2024-12-30 +namespace DOAN.Admin.WebApi.Controllers +{ + /// + /// 北泽线边库供应商 + /// + [Verify] + [Route("mes/materialManagement/Parts/MaterialPartsSuppliers")] + public class MaterialPartsSuppliersController : BaseController + { + /// + /// 北泽线边库供应商接口 + /// + private readonly IMaterialPartsSuppliersService _MaterialPartsSuppliersService; + + public MaterialPartsSuppliersController(IMaterialPartsSuppliersService MaterialPartsSuppliersService) + { + _MaterialPartsSuppliersService = MaterialPartsSuppliersService; + } + + /// + /// 查询北泽线边库供应商列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartssuppliers:list")] + public IActionResult QueryMaterialPartsSuppliers([FromQuery] MaterialPartsSuppliersQueryDto parm) + { + var response = _MaterialPartsSuppliersService.GetList(parm); + return SUCCESS(response); + } + + + //TODO 查询供应商 + [HttpGet("list_supplier_No_Page")] + public IActionResult GetListSupplier(string query) + { + var response = _MaterialPartsSuppliersService.GetListSupplier(query); + return SUCCESS(response); + } + + + /// + /// 查询北泽线边库供应商详情 + /// + /// + /// + [HttpGet("{SupplierId}")] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartssuppliers:query")] + public IActionResult GetMaterialPartsSuppliers(int SupplierId) + { + var response = _MaterialPartsSuppliersService.GetInfo(SupplierId); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加北泽线边库供应商 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartssuppliers:add")] + [Log(Title = "北泽线边库供应商", BusinessType = BusinessType.INSERT)] + public IActionResult AddMaterialPartsSuppliers([FromBody] MaterialPartsSuppliersDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _MaterialPartsSuppliersService.AddMaterialPartsSuppliers(modal); + + return SUCCESS(response); + } + + /// + /// 更新北泽线边库供应商 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartssuppliers:edit")] + [Log(Title = "北泽线边库供应商", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateMaterialPartsSuppliers([FromBody] MaterialPartsSuppliersDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _MaterialPartsSuppliersService.UpdateMaterialPartsSuppliers(modal); + + return ToResponse(response); + } + + /// + /// 删除北泽线边库供应商 + /// + /// + [HttpDelete("{ids}")] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartssuppliers:delete")] + [Log(Title = "北泽线边库供应商", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteMaterialPartsSuppliers(string ids) + { + int[] idsArr = Tools.SpitIntArrary(ids); + if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } + + var response = _MaterialPartsSuppliersService.Delete(idsArr); + + return ToResponse(response); + } + + + + + } +} \ No newline at end of file diff --git a/DOAN.Admin.WebApi/Controllers/MES/Material/MaterialPartsTransactionsController.cs b/DOAN.Admin.WebApi/Controllers/MES/Material/MaterialPartsTransactionsController.cs new file mode 100644 index 0000000..ad3b31f --- /dev/null +++ b/DOAN.Admin.WebApi/Controllers/MES/Material/MaterialPartsTransactionsController.cs @@ -0,0 +1,109 @@ +using Microsoft.AspNetCore.Mvc; +using DOAN.Model.Dto; + +using DOAN.Admin.WebApi.Filters; +using DOAN.Model.MES.material; +using DOAN.Model.MES.material.Dto; +using DOAN.Service.MES.material.IService; +//创建时间:2024-12-30 +namespace DOAN.Admin.WebApi.Controllers +{ + /// + /// 北泽线边库出入库 + /// + [Verify] + [Route("mes/materialManagement/Parts/MaterialPartsTransactions")] + public class MaterialPartsTransactionsController : BaseController + { + /// + /// 北泽线边库出入库接口 + /// + private readonly IMaterialPartsTransactionsService _MaterialPartsTransactionsService; + + public MaterialPartsTransactionsController(IMaterialPartsTransactionsService MaterialPartsTransactionsService) + { + _MaterialPartsTransactionsService = MaterialPartsTransactionsService; + } + + /// + /// 查询北泽线边库出入库列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartstransactions:list")] + public IActionResult QueryMaterialPartsTransactions([FromQuery] MaterialPartsTransactionsQueryDto parm) + { + var response = _MaterialPartsTransactionsService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询北泽线边库出入库详情 + /// + /// + /// + [HttpGet("{TransactionId}")] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartstransactions:query")] + public IActionResult GetMaterialPartsTransactions(int TransactionId) + { + var response = _MaterialPartsTransactionsService.GetInfo(TransactionId); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加北泽线边库出入库 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartstransactions:add")] + [Log(Title = "北泽线边库出入库", BusinessType = BusinessType.INSERT)] + public IActionResult AddMaterialPartsTransactions([FromBody] MaterialPartsTransactionsDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _MaterialPartsTransactionsService.AddMaterialPartsTransactions(modal); + + return SUCCESS(response); + } + + /// + /// 更新北泽线边库出入库 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartstransactions:edit")] + [Log(Title = "北泽线边库出入库", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateMaterialPartsTransactions([FromBody] MaterialPartsTransactionsDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _MaterialPartsTransactionsService.UpdateMaterialPartsTransactions(modal); + + return ToResponse(response); + } + + /// + /// 删除北泽线边库出入库 + /// + /// + [HttpDelete("{ids}")] + [ActionPermissionFilter(Permission = "materialManagement:MaterialPartstransactions:delete")] + [Log(Title = "北泽线边库出入库", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteMaterialPartsTransactions(string ids) + { + int[] idsArr = Tools.SpitIntArrary(ids); + if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } + + var response = _MaterialPartsTransactionsService.Delete(idsArr); + + return ToResponse(response); + } + + + + + } +} \ No newline at end of file diff --git a/DOAN.Admin.WebApi/Controllers/MES/Material/MaterialSparePartsController.cs b/DOAN.Admin.WebApi/Controllers/MES/Material/MaterialSparePartsController.cs new file mode 100644 index 0000000..7507f6e --- /dev/null +++ b/DOAN.Admin.WebApi/Controllers/MES/Material/MaterialSparePartsController.cs @@ -0,0 +1,120 @@ +using Microsoft.AspNetCore.Mvc; +using DOAN.Model.Dto; + +using DOAN.Admin.WebApi.Filters; +using DOAN.Model.MES.material; +using DOAN.Model.MES.material.Dto; +using DOAN.Service.MES.material.IService; + +//创建时间:2024-12-30 +namespace DOAN.Admin.WebApi.Controllers +{ + /// + /// 北泽线边库基本信息表 + /// + [Verify] + [Route("mes/materialManagement/Parts/MaterialSpareParts")] + public class MaterialSparePartsController : BaseController + { + /// + /// 北泽线边库基本信息表接口 + /// + private readonly IMaterialSparePartsService _MaterialSparePartsService; + + public MaterialSparePartsController(IMaterialSparePartsService MaterialSparePartsService) + { + _MaterialSparePartsService = MaterialSparePartsService; + } + + /// + /// 查询北泽线边库基本信息表列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "materialManagement:materialspareparts:list")] + public IActionResult QueryMaterialSpareParts([FromQuery] MaterialSparePartsQueryDto parm) + { + var response = _MaterialSparePartsService.GetList(parm); + return SUCCESS(response); + } + + //TODO 查询北泽线边库基本信息表列表 不分页 + [HttpGet("list_nopage")] + [ActionPermissionFilter(Permission = "materialManagement:materialspareparts:list")] + public IActionResult QueryMaterialSpareParts2(string query) + { + var response = _MaterialSparePartsService.GetListNOPage(query); + + return SUCCESS(response); + } + + + /// + /// 查询北泽线边库基本信息表详情 + /// + /// + /// + [HttpGet("{PartId}")] + [ActionPermissionFilter(Permission = "materialManagement:materialspareparts:query")] + public IActionResult GetMaterialSpareParts(int PartId) + { + var response = _MaterialSparePartsService.GetInfo(PartId); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加北泽线边库基本信息表 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "materialManagement:materialspareparts:add")] + [Log(Title = "北泽线边库基本信息表", BusinessType = BusinessType.INSERT)] + public IActionResult AddMaterialSpareParts([FromBody] MaterialSparePartsDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _MaterialSparePartsService.AddMaterialSpareParts(modal); + + return SUCCESS(response); + } + + /// + /// 更新北泽线边库基本信息表 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "materialManagement:materialspareparts:edit")] + [Log(Title = "北泽线边库基本信息表", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateMaterialSpareParts([FromBody] MaterialSparePartsDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _MaterialSparePartsService.UpdateMaterialSpareParts(modal); + + return ToResponse(response); + } + + /// + /// 删除北泽线边库基本信息表 + /// + /// + [HttpDelete("{ids}")] + [ActionPermissionFilter(Permission = "materialManagement:materialspareparts:delete")] + [Log(Title = "北泽线边库基本信息表", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteMaterialSpareParts(string ids) + { + int[] idsArr = Tools.SpitIntArrary(ids); + if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } + + var response = _MaterialSparePartsService.Delete(idsArr); + + return ToResponse(response); + } + + + + + } +} \ No newline at end of file diff --git a/DOAN.Model/MES/Material/Dto/MaterialPartsCategoriesDto.cs b/DOAN.Model/MES/Material/Dto/MaterialPartsCategoriesDto.cs new file mode 100644 index 0000000..85b6fa9 --- /dev/null +++ b/DOAN.Model/MES/Material/Dto/MaterialPartsCategoriesDto.cs @@ -0,0 +1,33 @@ +using System.ComponentModel.DataAnnotations; + +namespace DOAN.Model.MES.material.Dto +{ + /// + /// 北泽线边库分类查询对象 + /// + public class MaterialPartsCategoriesQueryDto : PagerInfo + { + public string CategoryName { get; set; } + } + + /// + /// 北泽线边库分类输入输出对象 + /// + public class MaterialPartsCategoriesDto + { + [Required(ErrorMessage = "分类ID不能为空")] + public int CategoryId { get; set; } + + [Required(ErrorMessage = "分类名称不能为空")] + public string CategoryName { get; set; } + + public int? ParentCategoryId { get; set; } + + public DateTime? CreatedAt { get; set; } + + public DateTime? UpdatedAt { get; set; } + + + + } +} \ No newline at end of file diff --git a/DOAN.Model/MES/Material/Dto/MaterialPartsInventoryDto.cs b/DOAN.Model/MES/Material/Dto/MaterialPartsInventoryDto.cs new file mode 100644 index 0000000..5737ec1 --- /dev/null +++ b/DOAN.Model/MES/Material/Dto/MaterialPartsInventoryDto.cs @@ -0,0 +1,74 @@ +using System.ComponentModel.DataAnnotations; +using DOAN.Model.MES.material; +using DOAN.Model.MES.material.Dto; + +namespace DOAN.Model.Dto +{ + /// + /// 库存信息表查询对象 + /// + public class MaterialPartsInventoryQueryDto : PagerInfo + { + /// + /// 库存位置code + /// + public string locationCode { get; set; } + /// + /// 备件名称 + /// + public string partName { get; set; } + /// + /// 备件编号 + /// + public string partCode { get; set; } + } + + /// + /// 库存信息表输入输出对象 + /// + public class MaterialPartsInventoryDto + { + + public int InventoryId { get; set; } + + [Required(ErrorMessage = "备件ID不能为空")] + public int PartId { get; set; } + + [Required(ErrorMessage = "数量不能为空")] + public int Quantity { get; set; } + [Required(ErrorMessage = "库位不能为空")] + public string Location { get; set; } + + public DateTime? LastInventoryCheck { get; set; } + + public DateTime? CreatedAt { get; set; } + + public DateTime? UpdatedAt { get; set; } + + /// + /// 供应商ID + /// + public int SupplierId { get; set; }} + + + + + public class MaterialPartsInventoryDto2 : MaterialSparePartsDto + { + + public int InventoryId { get; set; } + + public int PartId { get; set; } + + public int Quantity { get; set; } + + public string Location { get; set; } + + public DateTime? LastInventoryCheck { get; set; } + + public DateTime? CreatedAt { get; set; } + + public DateTime? UpdatedAt { get; set; } + } + +} \ No newline at end of file diff --git a/DOAN.Model/MES/Material/Dto/MaterialPartsStorageLocationsDto.cs b/DOAN.Model/MES/Material/Dto/MaterialPartsStorageLocationsDto.cs new file mode 100644 index 0000000..66489ba --- /dev/null +++ b/DOAN.Model/MES/Material/Dto/MaterialPartsStorageLocationsDto.cs @@ -0,0 +1,35 @@ +using System.ComponentModel.DataAnnotations; + +namespace DOAN.Model.MES.material.Dto +{ + /// + /// 北泽线边库库位查询对象 + /// + public class MaterialPartsStorageLocationsQueryDto : PagerInfo + { + } + + /// + /// 北泽线边库库位输入输出对象 + /// + public class MaterialPartsStorageLocationsDto + { + [Required(ErrorMessage = "库位ID不能为空")] + public int LocationId { get; set; } + + [Required(ErrorMessage = "库位编码不能为空")] + public string LocationCode { get; set; } + + public string Description { get; set; } + + [Required(ErrorMessage = "所属仓库ID不能为空")] + public int WarehouseId { get; set; } + + public DateTime? CreatedAt { get; set; } + + public DateTime? UpdatedAt { get; set; } + + + + } +} \ No newline at end of file diff --git a/DOAN.Model/MES/Material/Dto/MaterialPartsSuppliersDto.cs b/DOAN.Model/MES/Material/Dto/MaterialPartsSuppliersDto.cs new file mode 100644 index 0000000..3314a00 --- /dev/null +++ b/DOAN.Model/MES/Material/Dto/MaterialPartsSuppliersDto.cs @@ -0,0 +1,38 @@ +using System.ComponentModel.DataAnnotations; + +namespace DOAN.Model.MES.material.Dto +{ + /// + /// 北泽线边库供应商查询对象 + /// + public class MaterialPartsSuppliersQueryDto : PagerInfo + { + } + + /// + /// 北泽线边库供应商输入输出对象 + /// + public class MaterialPartsSuppliersDto + { + [Required(ErrorMessage = "供应商ID不能为空")] + public int SupplierId { get; set; } + + [Required(ErrorMessage = "供应商名称不能为空")] + public string SupplierName { get; set; } + + public string ContactPerson { get; set; } + + public string Phone { get; set; } + + public string Email { get; set; } + + public string Address { get; set; } + + public DateTime? CreatedAt { get; set; } + + public DateTime? UpdatedAt { get; set; } + + + + } +} \ No newline at end of file diff --git a/DOAN.Model/MES/Material/Dto/MaterialPartsTransactionsDto.cs b/DOAN.Model/MES/Material/Dto/MaterialPartsTransactionsDto.cs new file mode 100644 index 0000000..7065420 --- /dev/null +++ b/DOAN.Model/MES/Material/Dto/MaterialPartsTransactionsDto.cs @@ -0,0 +1,47 @@ +using System.ComponentModel.DataAnnotations; + +namespace DOAN.Model.MES.material.Dto +{ + /// + /// 北泽线边库出入库查询对象 + /// + public class MaterialPartsTransactionsQueryDto : PagerInfo + { + public string PartName { get; set; } + public string TransactionType { get; set; } + } + + /// + /// 北泽线边库出入库输入输出对象 + /// + public class MaterialPartsTransactionsDto + { + [Required(ErrorMessage = "交易ID不能为空")] + public int TransactionId { get; set; } + + [Required(ErrorMessage = "备件ID不能为空")] + public int PartId { get; set; } + + /// + /// 备件名称 + /// + public string PartName { get; set; } + + [Required(ErrorMessage = "交易类型:入库(in),出库(out)不能为空")] + public string TransactionType { get; set; } + + [Required(ErrorMessage = "数量不能为空")] + public int Quantity { get; set; } + + public DateTime? TransactionDate { get; set; } + + public int? SupplierId { get; set; } + + public string Remarks { get; set; } + + public string CreatedBy { get; set; } + + + + } +} \ No newline at end of file diff --git a/DOAN.Model/MES/Material/Dto/MaterialSparePartsDto.cs b/DOAN.Model/MES/Material/Dto/MaterialSparePartsDto.cs new file mode 100644 index 0000000..b1829b0 --- /dev/null +++ b/DOAN.Model/MES/Material/Dto/MaterialSparePartsDto.cs @@ -0,0 +1,50 @@ +using System.ComponentModel.DataAnnotations; + +namespace DOAN.Model.MES.material.Dto +{ + /// + /// 北泽线边库基本信息表查询对象 + /// + public class MaterialSparePartsQueryDto : PagerInfo + { + public string PartName { get; set; } + public string PartCode { get; set; } + } + + + /// + /// 北泽线边库基本信息表输入输出对象 + /// + public class MaterialSparePartsDto + { + + public int PartId { get; set; } + + [Required(ErrorMessage = "备件名称不能为空")] + public string PartName { get; set; } + + [Required(ErrorMessage = "备件编号不能为空")] + public string PartCode { get; set; } + + public string Description { get; set; } + + + public int CategoryId { get; set; } + + + public string UnitOfMeasure { get; set; } + + + public int MinStockLevel { get; set; } + + + public int MaxStockLevel { get; set; } + + public DateTime? CreatedAt { get; set; } + + public DateTime? UpdatedAt { get; set; } + + + + } +} \ No newline at end of file diff --git a/DOAN.Model/MES/Material/MaterialPartsCategories.cs b/DOAN.Model/MES/Material/MaterialPartsCategories.cs new file mode 100644 index 0000000..89a85cd --- /dev/null +++ b/DOAN.Model/MES/Material/MaterialPartsCategories.cs @@ -0,0 +1,41 @@ + +namespace DOAN.Model.MES.material +{ + /// + /// 北泽线边库分类 + /// + [SugarTable("material_parts_categories")] + public class MaterialPartsCategories + { + /// + /// 分类ID + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnName = "category_id")] + public int CategoryId { get; set; } + + /// + /// 分类名称 + /// + [SugarColumn(ColumnName = "category_name")] + public string CategoryName { get; set; } + + /// + /// 父级分类ID + /// + [SugarColumn(ColumnName = "parent_category_id")] + public int? ParentCategoryId { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "created_at")] + public DateTime? CreatedAt { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "updated_at")] + public DateTime? UpdatedAt { get; set; } + + } +} \ No newline at end of file diff --git a/DOAN.Model/MES/Material/MaterialPartsInventory.cs b/DOAN.Model/MES/Material/MaterialPartsInventory.cs new file mode 100644 index 0000000..d1a7a99 --- /dev/null +++ b/DOAN.Model/MES/Material/MaterialPartsInventory.cs @@ -0,0 +1,51 @@ + +namespace DOAN.Model.MES.material +{ + /// + /// 库存信息表 + /// + [SugarTable("material_parts_inventory")] + public class MaterialPartsInventory + { + /// + /// 库存ID + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnName = "inventory_id")] + public int InventoryId { get; set; } + + /// + /// 备件ID + /// + [SugarColumn(ColumnName = "part_id")] + public int PartId { get; set; } + + /// + /// 数量 + /// + public int Quantity { get; set; } + + /// + /// 存放位置 + /// + public string Location { get; set; } + + /// + /// 上次盘点日期 + /// + [SugarColumn(ColumnName = "last_inventory_check")] + public DateTime? LastInventoryCheck { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "created_at")] + public DateTime? CreatedAt { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "updated_at")] + public DateTime? UpdatedAt { get; set; } + + } +} \ No newline at end of file diff --git a/DOAN.Model/MES/Material/MaterialPartsStorageLocations.cs b/DOAN.Model/MES/Material/MaterialPartsStorageLocations.cs new file mode 100644 index 0000000..9702255 --- /dev/null +++ b/DOAN.Model/MES/Material/MaterialPartsStorageLocations.cs @@ -0,0 +1,46 @@ + +namespace DOAN.Model.MES.material +{ + /// + /// 北泽线边库库位 + /// + [SugarTable("material_parts_storage_locations")] + public class MaterialPartsStorageLocations + { + /// + /// 库位ID + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnName = "location_id")] + public int LocationId { get; set; } + + /// + /// 库位编码 + /// + [SugarColumn(ColumnName = "location_code")] + public string LocationCode { get; set; } + + /// + /// 库位描述 + /// + public string Description { get; set; } + + /// + /// 所属仓库ID + /// + [SugarColumn(ColumnName = "warehouse_id")] + public int WarehouseId { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "created_at")] + public DateTime? CreatedAt { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "updated_at")] + public DateTime? UpdatedAt { get; set; } + + } +} \ No newline at end of file diff --git a/DOAN.Model/MES/Material/MaterialPartsSuppliers.cs b/DOAN.Model/MES/Material/MaterialPartsSuppliers.cs new file mode 100644 index 0000000..15c21a0 --- /dev/null +++ b/DOAN.Model/MES/Material/MaterialPartsSuppliers.cs @@ -0,0 +1,56 @@ + +namespace DOAN.Model.MES.material +{ + /// + /// 北泽线边库供应商 + /// + [SugarTable("material_parts_suppliers")] + public class MaterialPartsSuppliers + { + /// + /// 供应商ID + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnName = "supplier_id")] + public int SupplierId { get; set; } + + /// + /// 供应商名称 + /// + [SugarColumn(ColumnName = "supplier_name")] + public string SupplierName { get; set; } + + /// + /// 联系人 + /// + [SugarColumn(ColumnName = "contact_person")] + public string ContactPerson { get; set; } + + /// + /// 联系电话 + /// + public string Phone { get; set; } + + /// + /// 电子邮件 + /// + public string Email { get; set; } + + /// + /// 地址 + /// + public string Address { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "created_at")] + public DateTime? CreatedAt { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "updated_at")] + public DateTime? UpdatedAt { get; set; } + + } +} \ No newline at end of file diff --git a/DOAN.Model/MES/Material/MaterialPartsTransactions.cs b/DOAN.Model/MES/Material/MaterialPartsTransactions.cs new file mode 100644 index 0000000..2094ed0 --- /dev/null +++ b/DOAN.Model/MES/Material/MaterialPartsTransactions.cs @@ -0,0 +1,57 @@ + +namespace DOAN.Model.MES.material +{ + /// + /// 北泽线边库出入库 + /// + [SugarTable("material_parts_transactions")] + public class MaterialPartsTransactions + { + /// + /// 交易ID + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnName = "transaction_id")] + public int TransactionId { get; set; } + + /// + /// 备件ID + /// + [SugarColumn(ColumnName = "part_id")] + public int PartId { get; set; } + + /// + /// 交易类型:入库(in),出库(out) + /// + [SugarColumn(ColumnName = "transaction_type")] + public string TransactionType { get; set; } + + /// + /// 数量 + /// + public int Quantity { get; set; } + + /// + /// 交易日期 + /// + [SugarColumn(ColumnName = "transaction_date")] + public DateTime? TransactionDate { get; set; } + + /// + /// 供应商ID(仅对入库有效) + /// + [SugarColumn(ColumnName = "supplier_id")] + public int? SupplierId { get; set; } + + /// + /// 备注 + /// + public string Remarks { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "created_by")] + public string CreatedBy { get; set; } + + } +} \ No newline at end of file diff --git a/DOAN.Model/MES/Material/MaterialSpareParts.cs b/DOAN.Model/MES/Material/MaterialSpareParts.cs new file mode 100644 index 0000000..fbf395c --- /dev/null +++ b/DOAN.Model/MES/Material/MaterialSpareParts.cs @@ -0,0 +1,71 @@ + +namespace DOAN.Model.MES.material +{ + /// + /// 北泽线边库基本信息表 + /// + [SugarTable("material_spare_parts")] + public class MaterialSpareParts + { + /// + /// 备件ID + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnName = "part_id")] + public int PartId { get; set; } + + /// + /// 备件名称 + /// + [SugarColumn(ColumnName = "part_name")] + public string PartName { get; set; } + + /// + /// 备件编号 + /// + [SugarColumn(ColumnName = "part_code")] + public string PartCode { get; set; } + + + /// + /// 描述 + /// + public string Description { get; set; } + + /// + /// 分类ID + /// + [SugarColumn(ColumnName = "category_id")] + public int CategoryId { get; set; } + + /// + /// 计量单位 + /// + [SugarColumn(ColumnName = "unit_of_measure")] + public string UnitOfMeasure { get; set; } + + /// + /// 最低库存量 + /// + [SugarColumn(ColumnName = "min_stock_level")] + public int MinStockLevel { get; set; } + + /// + /// 最高库存量 + /// + [SugarColumn(ColumnName = "max_stock_level")] + public int MaxStockLevel { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "created_at")] + public DateTime? CreatedAt { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "updated_at")] + public DateTime? UpdatedAt { get; set; } + + } +} \ No newline at end of file diff --git a/DOAN.Service/MES/Material/IService/IMaterialPartsCategoriesService.cs b/DOAN.Service/MES/Material/IService/IMaterialPartsCategoriesService.cs new file mode 100644 index 0000000..8cb261b --- /dev/null +++ b/DOAN.Service/MES/Material/IService/IMaterialPartsCategoriesService.cs @@ -0,0 +1,24 @@ +using System; +using DOAN.Model; +using DOAN.Model.Dto; +using DOAN.Model.MES.material.Dto; +using DOAN.Model.MES.material; +using System.Collections.Generic; + +namespace DOAN.Service.MES.material.IService +{ + /// + /// 北泽线边库分类service接口 + /// + public interface IMaterialPartsCategoriesService : IBaseService + { + PagedInfo GetList(MaterialPartsCategoriesQueryDto parm); + + MaterialPartsCategories GetInfo(int CategoryId); + + MaterialPartsCategories AddMaterialPartsCategories(MaterialPartsCategories parm); + + int UpdateMaterialPartsCategories(MaterialPartsCategories parm); + + } +} diff --git a/DOAN.Service/MES/Material/IService/IMaterialPartsInventoryService.cs b/DOAN.Service/MES/Material/IService/IMaterialPartsInventoryService.cs new file mode 100644 index 0000000..a843e4b --- /dev/null +++ b/DOAN.Service/MES/Material/IService/IMaterialPartsInventoryService.cs @@ -0,0 +1,30 @@ +using System; +using DOAN.Model; +using DOAN.Model.Dto; +using DOAN.Model.MES.material.Dto; +using DOAN.Model.MES.material; +using System.Collections.Generic; + +namespace DOAN.Service.MES.material.IService +{ + /// + /// 库存信息表service接口 + /// + public interface IMaterialPartsInventoryService : IBaseService + { + PagedInfo GetList(MaterialPartsInventoryQueryDto parm); + + MaterialPartsInventory GetInfo(int InventoryId); + + MaterialPartsInventory AddMaterialPartsInventory(MaterialPartsInventory parm); + + int UpdateMaterialPartsInventory(MaterialPartsInventory parm); + + bool EntryInventory(MaterialPartsInventoryDto parm,string admin,int SupplierId); + + bool OutInventory(MaterialPartsInventoryDto parm,string admin); + + bool CheckInventory(MaterialPartsInventoryDto parm,string admin); + + } +} diff --git a/DOAN.Service/MES/Material/IService/IMaterialPartsStorageLocationsService.cs b/DOAN.Service/MES/Material/IService/IMaterialPartsStorageLocationsService.cs new file mode 100644 index 0000000..1b634d3 --- /dev/null +++ b/DOAN.Service/MES/Material/IService/IMaterialPartsStorageLocationsService.cs @@ -0,0 +1,27 @@ +using System; +using DOAN.Model; +using DOAN.Model.Dto; +using DOAN.Model.MES.material.Dto; +using DOAN.Model.MES.material; +using System.Collections.Generic; + +namespace DOAN.Service.MES.material.IService +{ + /// + /// 北泽线边库库位service接口 + /// + public interface IMaterialPartsStorageLocationsService : IBaseService + { + PagedInfo GetList(MaterialPartsStorageLocationsQueryDto parm); + + + string[] QueryMaterialPartsStorageLocationsLocationCode(string query); + + MaterialPartsStorageLocations GetInfo(int LocationId); + + MaterialPartsStorageLocations AddMaterialPartsStorageLocations(MaterialPartsStorageLocations parm); + + int UpdateMaterialPartsStorageLocations(MaterialPartsStorageLocations parm); + + } +} diff --git a/DOAN.Service/MES/Material/IService/IMaterialPartsSuppliersService.cs b/DOAN.Service/MES/Material/IService/IMaterialPartsSuppliersService.cs new file mode 100644 index 0000000..e39c754 --- /dev/null +++ b/DOAN.Service/MES/Material/IService/IMaterialPartsSuppliersService.cs @@ -0,0 +1,26 @@ +using System; +using DOAN.Model; +using DOAN.Model.Dto; +using DOAN.Model.MES.material.Dto; +using DOAN.Model.MES.material; +using System.Collections.Generic; + +namespace DOAN.Service.MES.material.IService +{ + /// + /// 北泽线边库供应商service接口 + /// + public interface IMaterialPartsSuppliersService : IBaseService + { + PagedInfo GetList(MaterialPartsSuppliersQueryDto parm); + + List GetListSupplier(string query); + + MaterialPartsSuppliers GetInfo(int SupplierId); + + MaterialPartsSuppliers AddMaterialPartsSuppliers(MaterialPartsSuppliers parm); + + int UpdateMaterialPartsSuppliers(MaterialPartsSuppliers parm); + + } +} diff --git a/DOAN.Service/MES/Material/IService/IMaterialPartsTransactionsService.cs b/DOAN.Service/MES/Material/IService/IMaterialPartsTransactionsService.cs new file mode 100644 index 0000000..2f2ae0a --- /dev/null +++ b/DOAN.Service/MES/Material/IService/IMaterialPartsTransactionsService.cs @@ -0,0 +1,24 @@ +using System; +using DOAN.Model; +using DOAN.Model.Dto; +using DOAN.Model.MES.material.Dto; +using DOAN.Model.MES.material; +using System.Collections.Generic; + +namespace DOAN.Service.MES.material.IService +{ + /// + /// 北泽线边库出入库service接口 + /// + public interface IMaterialPartsTransactionsService : IBaseService + { + PagedInfo GetList(MaterialPartsTransactionsQueryDto parm); + + MaterialPartsTransactions GetInfo(int TransactionId); + + MaterialPartsTransactions AddMaterialPartsTransactions(MaterialPartsTransactions parm); + + int UpdateMaterialPartsTransactions(MaterialPartsTransactions parm); + + } +} diff --git a/DOAN.Service/MES/Material/IService/IMaterialSparePartsService.cs b/DOAN.Service/MES/Material/IService/IMaterialSparePartsService.cs new file mode 100644 index 0000000..ca23fce --- /dev/null +++ b/DOAN.Service/MES/Material/IService/IMaterialSparePartsService.cs @@ -0,0 +1,26 @@ +using System; +using DOAN.Model; +using DOAN.Model.Dto; +using DOAN.Model.MES.material.Dto; +using DOAN.Model.MES.material; +using System.Collections.Generic; + +namespace DOAN.Service.MES.material.IService +{ + /// + /// 北泽线边库基本信息表service接口 + /// + public interface IMaterialSparePartsService : IBaseService + { + PagedInfo GetList(MaterialSparePartsQueryDto parm); + + List GetListNOPage(string query); + + MaterialSpareParts GetInfo(int PartId); + + MaterialSpareParts AddMaterialSpareParts(MaterialSpareParts parm); + + int UpdateMaterialSpareParts(MaterialSpareParts parm); + + } +} diff --git a/DOAN.Service/MES/Material/MaterialPartsCategoriesService.cs b/DOAN.Service/MES/Material/MaterialPartsCategoriesService.cs new file mode 100644 index 0000000..76becc9 --- /dev/null +++ b/DOAN.Service/MES/Material/MaterialPartsCategoriesService.cs @@ -0,0 +1,83 @@ +using System; +using SqlSugar; +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using DOAN.Model; +using DOAN.Model.Dto; + +using DOAN.Repository; +using DOAN.Model.MES.material.Dto; +using DOAN.Model.MES.material; +using System.Linq; +using DOAN.Service.MES.material.IService; + +namespace DOAN.Service.MES.material +{ + /// + /// 北泽线边库分类Service业务层处理 + /// + [AppService(ServiceType = typeof(IMaterialPartsCategoriesService), ServiceLifetime = LifeTime.Transient)] + public class MaterialPartsCategoriesService : BaseService, IMaterialPartsCategoriesService + { + /// + /// 查询北泽线边库分类列表 + /// + /// + /// + public PagedInfo GetList(MaterialPartsCategoriesQueryDto parm) + { + var predicate = Expressionable.Create() + .AndIF(!string.IsNullOrEmpty(parm.CategoryName),it=>it.CategoryName.Contains(parm.CategoryName)) + ; + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public MaterialPartsCategories GetInfo(int CategoryId) + { + var response = Queryable() + .Where(x => x.CategoryId == CategoryId) + .First(); + + return response; + } + + /// + /// 添加北泽线边库分类 + /// + /// + /// + public MaterialPartsCategories AddMaterialPartsCategories(MaterialPartsCategories model) + { + return Context.Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改北泽线边库分类 + /// + /// + /// + public int UpdateMaterialPartsCategories(MaterialPartsCategories model) + { + //var response = Update(w => w.CategoryId == model.CategoryId, it => new MaterialPartsCategories() + //{ + // CategoryName = model.CategoryName, + // CreatedAt = model.CreatedAt, + // UpdatedAt = model.UpdatedAt, + //}); + //return response; + return Update(model, true); + } + + } +} \ No newline at end of file diff --git a/DOAN.Service/MES/Material/MaterialPartsInventoryService.cs b/DOAN.Service/MES/Material/MaterialPartsInventoryService.cs new file mode 100644 index 0000000..5cbf908 --- /dev/null +++ b/DOAN.Service/MES/Material/MaterialPartsInventoryService.cs @@ -0,0 +1,201 @@ +using System; +using SqlSugar; +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using DOAN.Model; +using DOAN.Model.Dto; +using DOAN.Repository; +using DOAN.Model.MES.material.Dto; +using DOAN.Model.MES.material; +using System.Linq; +using DOAN.Service.MES.material.IService; +namespace DOAN.Service.MES.material +{ + /// + /// 库存信息表Service业务层处理 + /// + [AppService(ServiceType = typeof(IMaterialPartsInventoryService), ServiceLifetime = LifeTime.Transient)] + public class MaterialPartsInventoryService : BaseService, IMaterialPartsInventoryService + { + /// + /// 查询库存信息表列表 + /// + /// + /// + public PagedInfo GetList(MaterialPartsInventoryQueryDto parm) + { + /*int[] LocationIdArray = null; + if (!string.IsNullOrEmpty(parm.locationCode)) + { + LocationIdArray= Context.Queryable().Where(it => it.LocationCode == parm.locationCode) + .Select(it => it.LocationId).ToArray(); + } + int[] PartIdArray =null; + if (!string.IsNullOrEmpty(parm.partName) && !string.IsNullOrEmpty(parm.partCode)) + { + PartIdArray = Context.Queryable() + .Where(it => it.PartName.Contains(parm.partName) && it.PartCode.Contains(parm.partCode)) + .Select(it => it.PartId).ToArray(); + }else if (!string.IsNullOrEmpty(parm.partName)) + { + PartIdArray = Context.Queryable() + .Where(it => it.PartName.Contains(parm.partName) ) + .Select(it => it.PartId).ToArray(); + }else if (!string.IsNullOrEmpty(parm.partCode)) + { + PartIdArray = Context.Queryable() + .Where(it => it.PartCode.Contains(parm.partCode)) + .Select(it => it.PartId).ToArray(); + }*/ + + var result= Queryable().LeftJoin((r, s) => r.PartId == s.PartId) + .WhereIF(!string.IsNullOrEmpty(parm.locationCode), (r, s) => r.Location.Contains(parm.locationCode) ) + .WhereIF(!string.IsNullOrEmpty(parm.partName), (r, s) => s.PartName.Contains(parm.partName)) + .WhereIF(!string.IsNullOrEmpty(parm.partCode), (r, s) => s.PartCode.Contains(parm.partCode)) + .Select((r, s) => new MaterialPartsInventoryDto2(), true) + .ToPage_NO_Convert(parm); + return result; + } + + + /// + /// 获取详情 + /// + /// + /// + public MaterialPartsInventory GetInfo(int InventoryId) + { + var response = Queryable() + .Where(x => x.InventoryId == InventoryId) + .First(); + + return response; + } + + /// + /// 添加库存信息表 + /// + /// + /// + public MaterialPartsInventory AddMaterialPartsInventory(MaterialPartsInventory model) + { + return Context.Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改库存信息表 + /// + /// + /// + public int UpdateMaterialPartsInventory(MaterialPartsInventory model) + { + //var response = Update(w => w.InventoryId == model.InventoryId, it => new MaterialPartsInventory() + //{ + // Quantity = model.Quantity, + // Location = model.Location, + // LastInventoryCheck = model.LastInventoryCheck, + // CreatedAt = model.CreatedAt, + // UpdatedAt = model.UpdatedAt, + //}); + //return response; + return Update(model, true); + } + + /// + /// 入库 + /// + /// + /// + public bool EntryInventory(MaterialPartsInventoryDto parm,string admin,int SupplierId) + { + + MaterialPartsTransactions MaterialPartsTransactions = new MaterialPartsTransactions(); + MaterialPartsTransactions.PartId= parm.PartId; + MaterialPartsTransactions.TransactionType = "入库"; + MaterialPartsTransactions.Quantity = parm.Quantity; + MaterialPartsTransactions.TransactionDate = DateTime.Now; + + MaterialPartsTransactions.CreatedBy = admin; + MaterialPartsTransactions.SupplierId = SupplierId; + //要么新增,要么修改 + bool isExist = Context.Queryable() + .Where(it => it.PartId == parm.PartId && it.Location == parm.Location).Any(); + if (isExist) + { + MaterialPartsTransactions.Remarks = "有库存入库"; + Context.Insertable(MaterialPartsTransactions).ExecuteCommand(); + + + return Context.Updateable() + .SetColumns(it=>it.Quantity==it.Quantity+parm.Quantity) + .SetColumns(it=>it.UpdatedAt==DateTime.Now) + .Where(it=>it.PartId==parm.PartId&&it.Location==parm.Location) + .ExecuteCommand()>0; + } + else + { + MaterialPartsTransactions.Remarks = "无库存入库"; + Context.Insertable(MaterialPartsTransactions).ExecuteCommand(); + + + MaterialPartsInventory inventory = new MaterialPartsInventory + { + PartId = parm.PartId, + Quantity = parm.Quantity, + Location = parm.Location, + CreatedAt = DateTime.Now, + + }; + return Context.Insertable(inventory).ExecuteCommand()>0; + } + + + } + + + + + /// + /// 出库 + /// + /// + /// + public bool OutInventory(MaterialPartsInventoryDto parm,string admin) + { + MaterialPartsTransactions MaterialPartsTransactions = new MaterialPartsTransactions(); + MaterialPartsTransactions.PartId= parm.PartId; + MaterialPartsTransactions.TransactionType = "出库"; + MaterialPartsTransactions.Quantity = parm.Quantity; + MaterialPartsTransactions.TransactionDate = DateTime.Now; + + MaterialPartsTransactions.CreatedBy = admin; + + Context.Insertable(MaterialPartsTransactions).ExecuteCommand(); + return Context.Updateable() + .SetColumns(it=>it.Quantity==it.Quantity-parm.Quantity) + .SetColumns(it=>it.UpdatedAt==DateTime.Now) + .Where(it=>it.PartId==parm.PartId&&it.Location==parm.Location) + .ExecuteCommand()>0; + } + public bool CheckInventory(MaterialPartsInventoryDto parm,string admin) + { + MaterialPartsTransactions MaterialPartsTransactions = new MaterialPartsTransactions(); + MaterialPartsTransactions.PartId= parm.PartId; + MaterialPartsTransactions.TransactionType = "盘点"; + MaterialPartsTransactions.Quantity = parm.Quantity; + MaterialPartsTransactions.TransactionDate = DateTime.Now; + + MaterialPartsTransactions.CreatedBy = admin; + + Context.Insertable(MaterialPartsTransactions).ExecuteCommand(); + return Context.Updateable() + .SetColumns(it=>it.Quantity==parm.Quantity) + .SetColumns(it=>it.UpdatedAt==DateTime.Now) + .SetColumns(it=>it.LastInventoryCheck==DateTime.Now) + .Where(it=>it.PartId==parm.PartId&&it.Location==parm.Location) + .ExecuteCommand()>0; + } + + + } +} \ No newline at end of file diff --git a/DOAN.Service/MES/Material/MaterialPartsStorageLocationsService.cs b/DOAN.Service/MES/Material/MaterialPartsStorageLocationsService.cs new file mode 100644 index 0000000..d79c2b1 --- /dev/null +++ b/DOAN.Service/MES/Material/MaterialPartsStorageLocationsService.cs @@ -0,0 +1,89 @@ +using System; +using SqlSugar; +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using DOAN.Model; +using DOAN.Model.Dto; +using DOAN.Model.MES.material.Dto; +using DOAN.Model.MES.material; +using DOAN.Repository; +using DOAN.Service.MES.material.IService; +using System.Linq; + +namespace DOAN.Service.MES.material +{ + /// + /// 北泽线边库库位Service业务层处理 + /// + [AppService(ServiceType = typeof(IMaterialPartsStorageLocationsService), ServiceLifetime = LifeTime.Transient)] + public class MaterialPartsStorageLocationsService : BaseService, IMaterialPartsStorageLocationsService + { + /// + /// 查询北泽线边库库位列表 + /// + /// + /// + public PagedInfo GetList(MaterialPartsStorageLocationsQueryDto parm) + { + var predicate = Expressionable.Create(); + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + public string[] QueryMaterialPartsStorageLocationsLocationCode(string query) + { + return Queryable() + .WhereIF(!string.IsNullOrEmpty(query),x => x.LocationCode.Contains(query)) + .Select(x => x.LocationCode) + .ToArray(); + } + + + /// + /// 获取详情 + /// + /// + /// + public MaterialPartsStorageLocations GetInfo(int LocationId) + { + var response = Queryable() + .Where(x => x.LocationId == LocationId) + .First(); + + return response; + } + + /// + /// 添加北泽线边库库位 + /// + /// + /// + public MaterialPartsStorageLocations AddMaterialPartsStorageLocations(MaterialPartsStorageLocations model) + { + return Context.Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改北泽线边库库位 + /// + /// + /// + public int UpdateMaterialPartsStorageLocations(MaterialPartsStorageLocations model) + { + //var response = Update(w => w.LocationId == model.LocationId, it => new MaterialPartsStorageLocations() + //{ + // LocationCode = model.LocationCode, + // Description = model.Description, + // CreatedAt = model.CreatedAt, + // UpdatedAt = model.UpdatedAt, + //}); + //return response; + return Update(model, true); + } + + } +} \ No newline at end of file diff --git a/DOAN.Service/MES/Material/MaterialPartsSuppliersService.cs b/DOAN.Service/MES/Material/MaterialPartsSuppliersService.cs new file mode 100644 index 0000000..78f961d --- /dev/null +++ b/DOAN.Service/MES/Material/MaterialPartsSuppliersService.cs @@ -0,0 +1,96 @@ +using System; +using SqlSugar; +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using DOAN.Model; +using DOAN.Model.Dto; +using DOAN.Model.MES.material.Dto; +using DOAN.Model.MES.material; +using DOAN.Repository; +using DOAN.Service.MES.material.IService; +using System.Linq; + +namespace DOAN.Service.MES.material +{ + /// + /// 北泽线边库供应商Service业务层处理 + /// + [AppService(ServiceType = typeof(IMaterialPartsSuppliersService), ServiceLifetime = LifeTime.Transient)] + public class MaterialPartsSuppliersService : BaseService, IMaterialPartsSuppliersService + { + /// + /// 查询北泽线边库供应商列表 + /// + /// + /// + public PagedInfo GetList(MaterialPartsSuppliersQueryDto parm) + { + var predicate = Expressionable.Create(); + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + public List GetListSupplier(string query) + { + return Queryable() + .WhereIF(!string.IsNullOrEmpty(query),x => x.SupplierName.Contains(query)) + .Select(x => new MaterialPartsSuppliersDto() + { + SupplierId = x.SupplierId, + SupplierName = x.SupplierName + }) + .ToList(); + } + + + /// + /// 获取详情 + /// + /// + /// + public MaterialPartsSuppliers GetInfo(int SupplierId) + { + var response = Queryable() + .Where(x => x.SupplierId == SupplierId) + .First(); + + return response; + } + + /// + /// 添加北泽线边库供应商 + /// + /// + /// + public MaterialPartsSuppliers AddMaterialPartsSuppliers(MaterialPartsSuppliers model) + { + return Context.Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改北泽线边库供应商 + /// + /// + /// + public int UpdateMaterialPartsSuppliers(MaterialPartsSuppliers model) + { + //var response = Update(w => w.SupplierId == model.SupplierId, it => new MaterialPartsSuppliers() + //{ + // SupplierName = model.SupplierName, + // ContactPerson = model.ContactPerson, + // Phone = model.Phone, + // Email = model.Email, + // Address = model.Address, + // CreatedAt = model.CreatedAt, + // UpdatedAt = model.UpdatedAt, + //}); + //return response; + return Update(model, true); + } + + } +} \ No newline at end of file diff --git a/DOAN.Service/MES/Material/MaterialPartsTransactionsService.cs b/DOAN.Service/MES/Material/MaterialPartsTransactionsService.cs new file mode 100644 index 0000000..bccb2ed --- /dev/null +++ b/DOAN.Service/MES/Material/MaterialPartsTransactionsService.cs @@ -0,0 +1,85 @@ +using System; +using SqlSugar; +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using DOAN.Model; +using DOAN.Model.Dto; +using DOAN.Model.MES.material.Dto; +using DOAN.Model.MES.material; +using DOAN.Repository; +using DOAN.Service.MES.material.IService; +using System.Linq; + +namespace DOAN.Service.MES.material +{ + /// + /// 北泽线边库出入库Service业务层处理 + /// + [AppService(ServiceType = typeof(IMaterialPartsTransactionsService), ServiceLifetime = LifeTime.Transient)] + public class MaterialPartsTransactionsService : BaseService, IMaterialPartsTransactionsService + { + /// + /// 查询北泽线边库出入库列表 + /// + /// + /// + public PagedInfo GetList(MaterialPartsTransactionsQueryDto parm) + { + // var predicate = Expressionable.Create(); + + var response = Queryable() + .LeftJoin((t,s)=>t.PartId==s.PartId) + .WhereIF(!string.IsNullOrEmpty(parm.PartName), (t,s)=>s.PartName.Contains(parm.PartName)) + .WhereIF(!string.IsNullOrEmpty(parm.TransactionType), (t,s)=>t.TransactionType==parm.TransactionType) + .Select((t,s)=>new MaterialPartsTransactionsDto(),true ) + .ToPage_NO_Convert(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public MaterialPartsTransactions GetInfo(int TransactionId) + { + var response = Queryable() + .Where(x => x.TransactionId == TransactionId) + .First(); + + return response; + } + + /// + /// 添加北泽线边库出入库 + /// + /// + /// + public MaterialPartsTransactions AddMaterialPartsTransactions(MaterialPartsTransactions model) + { + return Context.Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改北泽线边库出入库 + /// + /// + /// + public int UpdateMaterialPartsTransactions(MaterialPartsTransactions model) + { + //var response = Update(w => w.TransactionId == model.TransactionId, it => new MaterialPartsTransactions() + //{ + // TransactionType = model.TransactionType, + // Quantity = model.Quantity, + // TransactionDate = model.TransactionDate, + // Remarks = model.Remarks, + // CreatedBy = model.CreatedBy, + //}); + //return response; + return Update(model, true); + } + + } +} \ No newline at end of file diff --git a/DOAN.Service/MES/Material/MaterialSparePartsService.cs b/DOAN.Service/MES/Material/MaterialSparePartsService.cs new file mode 100644 index 0000000..0700694 --- /dev/null +++ b/DOAN.Service/MES/Material/MaterialSparePartsService.cs @@ -0,0 +1,99 @@ +using System; +using SqlSugar; +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using DOAN.Model; +using DOAN.Model.Dto; +using DOAN.Model.MES.material.Dto; +using DOAN.Model.MES.material; +using DOAN.Repository; + +using System.Linq; +using DOAN.Service.MES.material.IService; +using Mapster; + +namespace DOAN.Service.MES.material +{ + /// + /// 北泽线边库基本信息表Service业务层处理 + /// + [AppService(ServiceType = typeof(IMaterialSparePartsService), ServiceLifetime = LifeTime.Transient)] + public class MaterialSparePartsService : BaseService, IMaterialSparePartsService + { + /// + /// 查询北泽线边库基本信息表列表 + /// + /// + /// + public PagedInfo GetList(MaterialSparePartsQueryDto parm) + { + var predicate = Expressionable.Create() + .AndIF(!string.IsNullOrEmpty(parm.PartName), it => it.PartName.Contains(parm.PartName)) + .AndIF(!string.IsNullOrEmpty(parm.PartCode), it => it.PartCode.Contains(parm.PartCode)) + ; + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + public List GetListNOPage(string query) + { + var response = Queryable() + .WhereIF(!string.IsNullOrEmpty(query),x => x.PartName.Contains(query)||x.PartCode.Contains(query)) + .ToList().Adapt,List>(); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public MaterialSpareParts GetInfo(int PartId) + { + var response = Queryable() + .Where(x => x.PartId == PartId) + .First(); + + return response; + } + + /// + /// 添加北泽线边库基本信息表 + /// + /// + /// + public MaterialSpareParts AddMaterialSpareParts(MaterialSpareParts model) + { + return Context.Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改北泽线边库基本信息表 + /// + /// + /// + public int UpdateMaterialSpareParts(MaterialSpareParts model) + { + //var response = Update(w => w.PartId == model.PartId, it => new MaterialSpareParts() + //{ + // PartName = model.PartName, + // PartNumber = model.PartNumber, + // Description = model.Description, + // UnitOfMeasure = model.UnitOfMeasure, + // MinStockLevel = model.MinStockLevel, + // MaxStockLevel = model.MaxStockLevel, + // CreatedAt = model.CreatedAt, + // UpdatedAt = model.UpdatedAt, + //}); + //return response; + return Update(model, true); + } + + } +} \ No newline at end of file diff --git a/DOAN.Service/MES/Order/DeliveryScheduleService.cs b/DOAN.Service/MES/Order/DeliveryScheduleService.cs index 5334ec0..1b50c57 100644 --- a/DOAN.Service/MES/Order/DeliveryScheduleService.cs +++ b/DOAN.Service/MES/Order/DeliveryScheduleService.cs @@ -65,12 +65,7 @@ namespace DOAN.Service.MES.Order .ToList() }) .Distinct() - .ToList(); - - - - return queryResult; }