188 lines
5.9 KiB
C#
Raw Normal View History

2024-07-15 10:43:36 +08:00
using Microsoft.AspNetCore.Mvc;
using DOAN.Model.MES.base_.Dto;
using DOAN.Model.MES.base_;
using DOAN.Service.MES.base_.IService;
using DOAN.Admin.WebApi.Filters;
//创建时间2024-07-15
namespace DOAN.Admin.WebApi.Controllers
{
/// <summary>
/// 物料清单
/// </summary>
[Verify]
[Route("mes/baseManagement/BaseMaterialBOM")]
public class BaseMaterialBOMController : BaseController
{
/// <summary>
/// 物料清单接口
/// </summary>
private readonly IBaseMaterialBOMService _BaseMaterialBOMService;
public BaseMaterialBOMController(IBaseMaterialBOMService BaseMaterialBOMService)
{
_BaseMaterialBOMService = BaseMaterialBOMService;
}
/// <summary>
/// 查询物料清单列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[HttpGet("list")]
[ActionPermissionFilter(Permission = "baseManagement:BaseMaterialBOM:list")]
2024-07-15 16:47:04 +08:00
public IActionResult QueryBaseMaterialBOMList([FromQuery] BaseMaterialListQueryDto2 parm)
2024-07-15 10:43:36 +08:00
{
var response = _BaseMaterialBOMService.GetList(parm);
return SUCCESS(response);
}
/// <summary>
/// 查询物料清单详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
[HttpGet("{Id}")]
[ActionPermissionFilter(Permission = "baseManagement:BaseMaterialBOM:query")]
public IActionResult GetBaseMaterialBOMDetail(string Id)
{
var response = _BaseMaterialBOMService.GetInfo(Id);
2024-07-16 14:40:02 +08:00
2024-07-15 10:43:36 +08:00
var info = response.Adapt<BaseMaterialList>();
return SUCCESS(info);
}
/// <summary>
/// 添加物料清单
/// </summary>
/// <returns></returns>
[HttpPost]
[ActionPermissionFilter(Permission = "baseManagement:BaseMaterialBOM:add")]
[Log(Title = "物料清单", BusinessType = BusinessType.INSERT)]
public IActionResult AddBaseMaterialBOM([FromBody] BaseMaterialListDto parm)
{
var modal = parm.Adapt<BaseMaterialList>().ToCreate(HttpContext);
var response = _BaseMaterialBOMService.AddBaseMaterialList(modal);
return SUCCESS(response);
}
/// <summary>
/// 更新物料清单
/// </summary>
/// <returns></returns>
[HttpPut]
[ActionPermissionFilter(Permission = "baseManagement:BaseMaterialBOM:edit")]
[Log(Title = "物料清单", BusinessType = BusinessType.UPDATE)]
public IActionResult UpdateBaseMaterialBOM([FromBody] BaseMaterialListDto parm)
{
var modal = parm.Adapt<BaseMaterialList>().ToUpdate(HttpContext);
var response = _BaseMaterialBOMService.UpdateBaseMaterialList(modal);
return ToResponse(response);
}
/// <summary>
/// 删除物料清单
/// </summary>
/// <returns></returns>
[HttpDelete("{ids}")]
[ActionPermissionFilter(Permission = "baseManagement:BaseMaterialBOM:delete")]
[Log(Title = "物料清单", BusinessType = BusinessType.DELETE)]
public IActionResult DeleteBaseMaterialBOM(string ids)
{
int[] idsArr = Tools.SpitIntArrary(ids);
if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); }
var response = _BaseMaterialBOMService.Delete(idsArr);
return ToResponse(response);
}
2024-07-15 16:47:04 +08:00
/// <summary>
/// 获取BOM结构
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet("getBOM")]
2024-07-16 14:40:02 +08:00
public IActionResult Achieve_BOM(string id)
2024-07-15 16:47:04 +08:00
{
if (string.IsNullOrEmpty(id))
{
return SUCCESS(null);
}
var response = _BaseMaterialBOMService.Achieve_BOM(id);
return SUCCESS(response);
}
2024-07-15 10:43:36 +08:00
2024-07-15 16:47:04 +08:00
/// <summary>
/// 删除绑定关系
/// </summary>
/// <returns></returns>
[HttpGet("delete_BOM_bind")]
2024-07-16 14:40:02 +08:00
public IActionResult DeleteBOMBind(string id, string parent_id)
2024-07-15 16:47:04 +08:00
{
if (string.IsNullOrEmpty(id))
{
return SUCCESS(null);
}
var response = _BaseMaterialBOMService.DeleteBOMBind(id, parent_id);
return SUCCESS(response);
}
2024-07-15 18:24:55 +08:00
/// <summary>
/// 获取此产品未绑定的原材料及其半成品
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
2024-07-16 09:17:47 +08:00
[HttpPost("get_no_bind_bom")]
2024-07-16 14:40:02 +08:00
public IActionResult Achieve_BOM_no_bind([FromBody] BaseMaterialListQueryDto3 query)
2024-07-15 18:24:55 +08:00
{
2024-07-16 14:40:02 +08:00
if (query == null)
2024-07-15 18:24:55 +08:00
{
return SUCCESS(null);
}
2024-07-16 08:49:53 +08:00
var response = _BaseMaterialBOMService.Achieve_BOM_no_bind(query);
2024-07-15 18:24:55 +08:00
return SUCCESS(response);
}
2024-07-15 10:43:36 +08:00
2024-07-15 18:24:55 +08:00
/// <summary>
/// 增加绑定关系
/// </summary>
/// <param name="id"></param>
/// <param name="parent_id"></param>
/// <returns></returns>
[HttpGet("tobind")]
public IActionResult ADDBOMBind(string id, string parent_id)
{
if (string.IsNullOrEmpty(id))
{
return SUCCESS(null);
}
var response = _BaseMaterialBOMService.ADDBOMBind(id, parent_id);
return SUCCESS(response);
}
2024-07-15 16:51:36 +08:00
2024-07-16 14:40:02 +08:00
/// <summary>
/// 显示BOM视图
/// </summary>
/// <param name="id">成品或者半成品id</param>
/// <returns></returns>
[HttpGet("BOM_View")]
public IActionResult ShowBOMView(string id)
{
if (string.IsNullOrEmpty(id))
{
return SUCCESS(null);
}
var response = _BaseMaterialBOMService.ShowBOMView(id);
return SUCCESS(response);
}
2024-07-15 10:43:36 +08:00
}
}