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