using Microsoft.AspNetCore.Mvc; using ZR.Admin.WebApi.Extensions; using ZR.Admin.WebApi.Filters; using ZR.Model.MES.wms; using ZR.Model.MES.wms.Dto; using ZR.Service.mes.wms; using ZR.Service.mes.wms.IService; //创建时间:2024-08-08 namespace ZR.Admin.WebApi.Controllers { /// /// 一次合格品仓库 /// [Route("/mes/wm/WmOneTimeInventory")] public class WmOneTimeInventoryController : BaseController { /// /// 一次合格品仓库接口 /// private readonly IWmOneTimeInventoryService _WmOneTimeInventoryService; public WmOneTimeInventoryController(IWmOneTimeInventoryService WmOneTimeInventoryService) { _WmOneTimeInventoryService = WmOneTimeInventoryService; } /// /// 查询一次合格品仓库列表 /// /// /// [HttpGet("list")] [ActionPermissionFilter(Permission = "business:wmonetimeinventory:list")] public IActionResult QueryWmOneTimeInventory([FromQuery] WmOneTimeInventoryQueryDto parm) { var response = _WmOneTimeInventoryService.GetList(parm); return SUCCESS(response); } /// /// 查询一次合格品仓库详情 /// /// /// [HttpGet("{Id}")] [ActionPermissionFilter(Permission = "business:wmonetimeinventory:query")] public IActionResult GetWmOneTimeInventory(string Id) { var response = _WmOneTimeInventoryService.GetInfo(Id); var info = response.Adapt(); return SUCCESS(info); } /// /// 添加一次合格品仓库 /// /// [HttpPost] [ActionPermissionFilter(Permission = "business:wmonetimeinventory:add")] [Log(Title = "一次合格品仓库", BusinessType = BusinessType.INSERT)] public IActionResult AddWmOneTimeInventory([FromBody] WmOneTimeInventoryDto parm) { var modal = parm.Adapt().ToCreate(HttpContext); var response = _WmOneTimeInventoryService.AddWmOneTimeInventory(modal); return SUCCESS(response); } /// /// 更新一次合格品仓库 /// /// [HttpPut] [ActionPermissionFilter(Permission = "business:wmonetimeinventory:edit")] [Log(Title = "一次合格品仓库", BusinessType = BusinessType.UPDATE)] public IActionResult UpdateWmOneTimeInventory([FromBody] WmOneTimeInventoryDto parm) { var modal = parm.Adapt().ToUpdate(HttpContext); var response = _WmOneTimeInventoryService.UpdateWmOneTimeInventory(modal); return ToResponse(response); } /// /// 删除一次合格品仓库 /// /// [HttpDelete("{ids}")] [ActionPermissionFilter(Permission = "business:wmonetimeinventory:delete")] [Log(Title = "一次合格品仓库", BusinessType = BusinessType.DELETE)] public IActionResult DeleteWmOneTimeInventory(string ids) { string[] idsArr = ids.Split(','); if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } var response = _WmOneTimeInventoryService.Delete(idsArr); return ToResponse(response); } /// /// 一次合格品仓库数据导出 /// /// /// [HttpGet("export")] [Log(Title = "一次合格品仓库数据导出", BusinessType = BusinessType.EXPORT)] public IActionResult Export([FromQuery] WmOneTimeInventoryQueryDto parm) { parm.PageNum = 1; parm.PageSize = 10000; var list = _WmOneTimeInventoryService.GetExportList(parm); var result = ExportExcelMini(list, "wm_one_time_inventory", "一次合格品仓库数据"); return ExportExcel(result.Item2, result.Item1); } /// /// 一次合格品手动入库 /// /// [HttpPost("doWmOneTimeWarehousing")] [Log(Title = "一次合格品手动入库", BusinessType = BusinessType.UPDATE)] public IActionResult DoWmOneTimeWarehousing([FromBody] WmOneTimeInventoryDto parm) { try { var modal = parm.Adapt().ToCreate(HttpContext); var response = _WmOneTimeInventoryService.DoWmOneTimeWarehousing(modal); return ToResponse(new ApiResult(200, "手动入库成功", response)); } catch (Exception e) { return ToResponse(new ApiResult(500, "手动入库异常:" + e.Message, e.Message)); } } /// /// 一次合格品手动出库 /// /// [HttpPost("doWmOneTimeRetrieval")] [Log(Title = "一次合格品手动出库", BusinessType = BusinessType.UPDATE)] public IActionResult DoWmOneTimeRetrieval([FromBody] WmOneTimeInventoryDto parm) { try { var modal = parm.Adapt().ToCreate(HttpContext); var response = _WmOneTimeInventoryService.DoWmOneTimeRetrieval(modal); return ToResponse(new ApiResult(200, "手动出库成功", response)); } catch (Exception e) { return ToResponse(new ApiResult(500, "手动出库异常:" + e.Message, e.Message)); } } /// /// 一次合格品仓库盘点 /// /// [HttpPost("doWmOneTimeStocktaking")] [Log(Title = "一次合格品仓库盘点", BusinessType = BusinessType.INSERT)] public IActionResult DoWmOneTimeStocktaking([FromBody] WmOneTimeInventoryDto parm) { try { var modal = parm.Adapt().ToCreate(HttpContext); var response = _WmOneTimeInventoryService.DoWmOneTimeStocktaking(modal); return ToResponse(new ApiResult(200, "盘点成功", response)); } catch (Exception e) { return ToResponse(new ApiResult(500, "盘点异常:" + e.Message, e.Message)); } } /// /// 查询毛坯库存零件数 /// /// /// [HttpGet("getPartNumber")] public IActionResult GetPartNumber() { var response = _WmOneTimeInventoryService.GetPartNumber(); return SUCCESS(response); } } }