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
{
///
/// 物料清单
///
[Verify]
[Route("mes/baseManagement/BaseMaterialBOM_old")]
public class BaseMaterialBOM_oldController : BaseController
{
///
/// 物料清单接口
///
private readonly IBaseMaterialBOM_oldService _BaseMaterialBOMService;
public BaseMaterialBOM_oldController(IBaseMaterialBOM_oldService BaseMaterialBOMService)
{
_BaseMaterialBOMService = BaseMaterialBOMService;
}
///
/// 查询物料清单列表
///
///
///
[HttpGet("list")]
[ActionPermissionFilter(Permission = "baseManagement:BaseMaterialBOM:list")]
public IActionResult QueryBaseMaterialBOMList([FromQuery] BaseMaterialListQueryDto2 parm)
{
var response = _BaseMaterialBOMService.GetList(parm);
return SUCCESS(response);
}
///
/// 查询物料清单详情
///
///
///
[HttpGet("{Id}")]
[ActionPermissionFilter(Permission = "baseManagement:BaseMaterialBOM:query")]
public IActionResult GetBaseMaterialBOMDetail(string Id)
{
var response = _BaseMaterialBOMService.GetInfo(Id);
var info = response.Adapt();
return SUCCESS(info);
}
///
/// 添加物料清单
///
///
[HttpPost]
[ActionPermissionFilter(Permission = "baseManagement:BaseMaterialBOM:add")]
[Log(Title = "物料清单", BusinessType = BusinessType.INSERT)]
public IActionResult AddBaseMaterialBOM([FromBody] BaseMaterialListDto parm)
{
var modal = parm.Adapt().ToCreate(HttpContext);
var response = _BaseMaterialBOMService.AddBaseMaterialList(modal);
return SUCCESS(response);
}
///
/// 更新物料清单
///
///
[HttpPut]
[ActionPermissionFilter(Permission = "baseManagement:BaseMaterialBOM:edit")]
[Log(Title = "物料清单", BusinessType = BusinessType.UPDATE)]
public IActionResult UpdateBaseMaterialBOM([FromBody] BaseMaterialListDto parm)
{
var modal = parm.Adapt().ToUpdate(HttpContext);
var response = _BaseMaterialBOMService.UpdateBaseMaterialList(modal);
return ToResponse(response);
}
///
/// 删除物料清单
///
///
[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);
}
///
/// 获取BOM结构
///
///
///
[HttpGet("getBOM")]
public IActionResult Achieve_BOM(string id)
{
if (string.IsNullOrEmpty(id))
{
return SUCCESS(null);
}
var response = _BaseMaterialBOMService.Achieve_BOM(id);
return SUCCESS(response);
}
///
/// 删除绑定关系
///
///
[HttpGet("delete_BOM_bind")]
public IActionResult DeleteBOMBind(string id, string parent_id)
{
if (string.IsNullOrEmpty(id))
{
return SUCCESS(null);
}
var response = _BaseMaterialBOMService.DeleteBOMBind(id, parent_id);
return SUCCESS(response);
}
///
/// 获取此产品未绑定的原材料及其半成品
///
///
///
[HttpPost("get_no_bind_bom")]
public IActionResult Achieve_BOM_no_bind([FromBody] BaseMaterialListQueryDto3 query)
{
if (query == null)
{
return SUCCESS(null);
}
var response = _BaseMaterialBOMService.Achieve_BOM_no_bind(query);
return SUCCESS(response);
}
///
/// 增加绑定关系
///
///
///
///
[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);
}
///
/// 显示BOM视图
///
/// 成品或者半成品id
///
[HttpGet("BOM_View")]
public IActionResult ShowBOMView(string id)
{
if (string.IsNullOrEmpty(id))
{
return SUCCESS(null);
}
var response = _BaseMaterialBOMService.ShowBOMView(id);
return SUCCESS(response);
}
}
}