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);
}
}
}